html,
body.gj-admin-theme {
  min-height: 100%;
  background: #f5f7fb;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.gj-auth-theme {
  min-height: 100vh;
  background: #f5f7fb;
  color: #202939;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.gj-admin-theme .gj-booking-payment-summary-card {
  border: 1px solid #e7eaee;
}

.gj-admin-theme .gj-booking-payment-kpis {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.gj-admin-theme .gj-booking-payment-kpi {
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding: 14px;
}

.gj-admin-theme .gj-booking-payment-kpi span {
  color: #697586;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.gj-admin-theme .gj-booking-payment-kpi strong {
  font-size: 18px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.gj-admin-theme .gj-booking-payment-kpi-footnote {
  color: #697586;
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 10px;
  margin-top: 12px;
}

.gj-admin-theme .gj-booking-payment-overview-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gj-admin-theme .gj-booking-payment-overview-card {
  background: #fff;
  border: 1px solid #e7eaee;
  border-radius: 16px;
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 18px;
}

.gj-admin-theme .gj-booking-payment-overview-card span {
  color: #667085;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.gj-admin-theme .gj-booking-payment-overview-card strong {
  color: #202939;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.gj-admin-theme .gj-booking-payment-overview-card small {
  color: #667085;
  font-size: 12px;
  line-height: 1.45;
}

.gj-admin-theme .gj-booking-payment-overview-card.is-primary {
  background: linear-gradient(135deg, #f3f1ff, #ffffff);
  border-color: #d9d2ff;
}

.gj-admin-theme .gj-booking-payment-overview-card.is-info {
  background: linear-gradient(135deg, #eff6ff, #ffffff);
  border-color: #cfe0ff;
}

.gj-admin-theme .gj-booking-payment-overview-card.is-warning {
  background: linear-gradient(135deg, #fff7eb, #ffffff);
  border-color: #ffd6a3;
}

.gj-admin-theme .gj-booking-payment-progress-card {
  background: #fbfcfe;
  border: 1px solid #e7eaee;
  border-radius: 16px;
  padding: 16px;
}

.gj-admin-theme .gj-booking-payment-progress-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.gj-admin-theme .gj-booking-payment-progress-bar {
  background: #e9eff7;
  border-radius: 999px;
  height: 10px;
  margin-top: 14px;
  overflow: hidden;
}

.gj-admin-theme .gj-booking-payment-progress-bar .progress-bar {
  background: linear-gradient(90deg, #7267ef, #5b8def);
  border-radius: 999px;
}

.gj-admin-theme .gj-booking-payment-kpis.is-secondary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gj-admin-theme .gj-booking-payment-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gj-admin-theme .gj-booking-payment-form-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gj-admin-theme .gj-booking-payment-form-full {
  grid-column: 1 / -1;
}

.gj-admin-theme .gj-booking-payment-history-table-wrap {
  overflow-x: hidden;
}

.gj-admin-theme .gj-booking-payment-history-table th,
.gj-admin-theme .gj-booking-payment-history-table td {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.gj-admin-theme .gj-booking-payment-history-table thead th {
  color: #475467;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.gj-admin-theme .gj-booking-payment-history-table {
  table-layout: fixed;
  width: 100%;
}

.gj-admin-theme .gj-booking-payment-history-table th:nth-child(1),
.gj-admin-theme .gj-booking-payment-history-table td:nth-child(1) {
  width: 52px;
}

.gj-admin-theme .gj-booking-payment-history-table th:nth-child(2),
.gj-admin-theme .gj-booking-payment-history-table td:nth-child(2) {
  width: 180px;
}

.gj-admin-theme .gj-booking-payment-history-table th:nth-child(3),
.gj-admin-theme .gj-booking-payment-history-table td:nth-child(3) {
  width: 140px;
}

.gj-admin-theme .gj-booking-payment-history-table th:nth-child(4),
.gj-admin-theme .gj-booking-payment-history-table td:nth-child(4) {
  width: 96px;
}

.gj-admin-theme .gj-booking-payment-history-table th:nth-child(5),
.gj-admin-theme .gj-booking-payment-history-table td:nth-child(5) {
  width: 220px;
}

.gj-admin-theme .gj-booking-payment-history-table th:nth-child(6),
.gj-admin-theme .gj-booking-payment-history-table td:nth-child(6) {
  text-align: center;
  width: 112px;
}

.gj-admin-theme .gj-booking-payment-history-primary {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.gj-admin-theme .gj-booking-payment-history-meta {
  color: #697586;
  font-size: 12px;
  line-height: 1.45;
}

.gj-admin-theme .gj-booking-payment-history-edit-field {
  align-items: center;
  display: flex;
  gap: 8px;
}

.gj-admin-theme .gj-booking-payment-history-edit-field span {
  color: #344054;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.gj-admin-theme .gj-booking-payment-record-edit {
  display: grid;
  gap: 8px;
}

.gj-admin-theme .gj-booking-payment-history-edit-field .form-control {
  min-width: 0;
}

.gj-admin-theme .gj-booking-payment-avatar {
  align-items: center;
  background: linear-gradient(135deg, #eef2ff 0%, #dbeafe 100%);
  border: 1px solid #c7d2fe;
  border-radius: 999px;
  color: #4338ca;
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  height: 34px;
  justify-content: center;
  line-height: 1;
  width: 34px;
}

.gj-admin-theme .gj-booking-payment-history-actions {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 0 auto;
  width: 100%;
}

.gj-admin-theme .gj-booking-payment-void-form-inline {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  justify-content: center;
  max-width: 100%;
  width: auto;
}

.gj-admin-theme .gj-booking-payment-void-form-inline .form-control {
  min-width: 0;
}

.gj-admin-theme .gj-booking-payment-void-input {
  max-width: 88px;
}

.gj-admin-theme .gj-booking-payment-void-inline-editor {
  align-items: center;
  display: inline-flex;
  gap: 6px;
  max-width: 100%;
}

.gj-admin-theme .gj-booking-payment-history-icon-cell {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 34px;
}

.gj-admin-theme .gj-booking-payment-history-notes-cell {
  min-height: 34px;
}

.gj-admin-theme .gj-booking-payment-history-notes-display {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  min-height: 34px;
  min-width: 0;
}

.gj-admin-theme .gj-booking-payment-notes-preview {
  color: #344054;
  display: -webkit-box;
  font-size: 13px;
  line-height: 1.35;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.gj-admin-theme .gj-booking-payment-inline-notes-form textarea {
  min-width: 0;
  resize: vertical;
  width: 100%;
}

.gj-admin-theme .gj-booking-payment-icon-btn {
  align-items: center;
  display: inline-flex;
  height: 32px;
  justify-content: center;
  padding: 0;
  width: 32px;
}

.gj-admin-theme .gj-booking-payment-icon-btn i {
  font-size: 16px;
  line-height: 1;
}

.gj-admin-theme .gj-booking-payment-void-form {
  max-width: 220px;
}

.gj-admin-theme .gj-booking-payment-history-cards {
  display: none;
  gap: 12px;
}

.gj-admin-theme .gj-booking-payment-history-card {
  background: #fff;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  padding: 14px;
}

.gj-admin-theme .gj-booking-payment-history-card-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.gj-admin-theme .gj-booking-payment-history-stack {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 14px;
}

.gj-admin-theme .gj-booking-payment-history-stack div {
  background: #f8fafc;
  border-radius: 10px;
  padding: 10px 12px;
}

.gj-admin-theme .gj-booking-payment-history-stack span {
  color: #697586;
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.gj-admin-theme .gj-booking-payment-history-stack strong {
  display: block;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.gj-admin-theme .gj-booking-payment-history-stack-full {
  grid-column: 1 / -1;
}

.gj-admin-theme .gj-booking-payment-ledger-note {
  background: #f8fafc;
  border: 1px dashed #d9dee7;
  border-radius: 8px;
  min-height: 42px;
  padding: 10px 12px;
}

.gj-admin-theme .gj-booking-ready-payment-summary {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 14px;
}

.gj-admin-theme .gj-booking-ready-payment-summary div,
.gj-admin-theme .gj-booking-ready-payment-item {
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  padding: 12px;
}

.gj-admin-theme .gj-booking-ready-payment-summary span {
  color: #697586;
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.gj-admin-theme .gj-booking-ready-payment-summary strong {
  display: block;
  overflow-wrap: anywhere;
}

.gj-admin-theme .gj-booking-ready-payment-list {
  display: grid;
  gap: 10px;
}

.gj-admin-theme .gj-booking-ready-payment-item {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

@media (max-width: 767.98px) {
  .gj-admin-theme .gj-booking-payment-kpis,
  .gj-admin-theme .gj-booking-payment-overview-grid,
  .gj-admin-theme .gj-booking-payment-form-grid,
  .gj-admin-theme .gj-booking-ready-payment-summary,
  .gj-admin-theme .gj-booking-payment-history-stack {
    grid-template-columns: 1fr;
  }

  .gj-admin-theme .gj-booking-payment-kpis.is-secondary {
    grid-template-columns: 1fr;
  }

  .gj-admin-theme .gj-booking-payment-progress-head {
    flex-direction: column;
  }

  .gj-admin-theme .gj-booking-payment-history-table-wrap {
    display: none;
  }

  .gj-admin-theme .gj-booking-payment-history-cards {
    display: grid;
  }

  .gj-admin-theme .gj-booking-ready-payment-item {
    align-items: flex-start;
    flex-direction: column;
  }

  .gj-admin-theme .gj-booking-payment-void-form {
    max-width: none;
  }

  .gj-admin-theme .gj-booking-payment-history-actions {
    align-items: stretch;
  }

  .gj-admin-theme .gj-booking-payment-void-form-inline {
    display: grid;
    width: 100%;
  }

  .gj-admin-theme .gj-booking-payment-void-input {
    max-width: none;
  }
}

@media (max-width: 991.98px) {
  .gj-admin-theme .gj-booking-payment-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gj-admin-theme .gj-booking-payment-overview-grid {
    grid-template-columns: 1fr;
  }

  .gj-admin-theme .gj-booking-payment-kpis.is-secondary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gj-admin-theme .gj-booking-payment-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gj-admin-theme .gj-booking-payment-history-table {
    font-size: 12px;
  }

  .gj-admin-theme .gj-booking-payment-history-table th,
  .gj-admin-theme .gj-booking-payment-history-table td {
    padding: 10px 8px;
  }

  .gj-admin-theme .gj-booking-payment-history-table th:nth-child(8),
  .gj-admin-theme .gj-booking-payment-history-table td:nth-child(8) {
    width: 100px;
  }
}

.gj-auth-theme .wrap {
  background:
    radial-gradient(circle at top left, rgba(114, 103, 239, 0.08), transparent 32rem),
    #f5f7fb;
}

.gj-auth-theme .brand .name {
  color: #202939;
  letter-spacing: 0;
}

.gj-auth-theme .card {
  border-color: #e7eaee !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 40px rgba(27, 46, 94, 0.08) !important;
}

.gj-auth-theme .title {
  color: #202939;
  font-weight: 700;
}

.gj-auth-theme .field label {
  color: #697586;
  font-weight: 500;
}

.gj-auth-theme .field input {
  border-color: #d9dee7 !important;
  border-radius: 6px !important;
}

.gj-auth-theme .btn {
  border-radius: 6px !important;
  background: #7267ef !important;
  border-color: #7267ef !important;
  color: #fff !important;
}

.gj-auth-theme .error {
  border: 1px solid #f4c7c7;
  border-radius: 6px;
  background: #fff2f2;
  padding: 10px 12px;
}

.gj-auth-theme .info {
  border: 1px solid #bfd7ff;
  border-radius: 6px;
  background: #f0f6ff;
  padding: 10px 12px;
}

.gj-login-v1 {
  min-height: 100vh;
  background: #625ae7;
}

.gj-login-v1 .bg-overlay {
  display: none;
}

.gj-login-v1 .auth-wrapper {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 100vh;
  padding: 24px;
}

.gj-login-v1 .auth-form {
  max-width: 420px;
  width: 100%;
}

.gj-login-v1.auth-main::before,
.gj-login-v1.auth-main::after,
.gj-login-v1 .auth-wrapper::before,
.gj-login-v1 .auth-wrapper::after {
  background-image: none !important;
  content: none !important;
}

.gj-login-v1 .gj-login-card {
  border: 1px solid #e7eaee;
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(23, 35, 61, 0.08);
}

.gj-login-v1 .gj-login-card .card-body {
  padding: 28px;
}

.gj-login-v1 .img-logo {
  max-height: 58px;
  width: auto;
}

.gj-login-v1 .brand-mark {
  align-items: center;
  display: inline-flex;
  font-size: 30px;
  justify-content: center;
  line-height: 1;
  min-height: 52px;
}

.gj-login-v1 .gj-login-brand {
  align-items: center;
  display: grid;
  justify-items: center;
  margin-bottom: 18px;
  text-align: center;
}

.gj-login-v1 .gj-login-subtitle {
  margin-bottom: 0;
  text-align: center;
}

.gj-login-v1 .gj-login-choice-grid {
  display: grid;
  gap: 14px;
}

.gj-login-v1 .gj-login-choice-card {
  align-items: center;
  background: #ffffff;
  border: 1px solid #e7eaee;
  border-radius: 14px;
  color: #202939;
  display: grid;
  gap: 6px;
  justify-items: center;
  padding: 20px 18px;
  text-align: center;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.gj-login-v1 .gj-login-choice-card:hover,
.gj-login-v1 .gj-login-choice-card:focus {
  border-color: #cfc9ff;
  box-shadow: 0 16px 30px rgba(23, 35, 61, 0.08);
  color: #202939;
  transform: translateY(-1px);
}

.gj-login-v1 .gj-login-choice-icon {
  align-items: center;
  background: rgba(98, 90, 231, 0.08);
  border-radius: 999px;
  color: #625ae7;
  display: inline-flex;
  font-size: 26px;
  height: 56px;
  justify-content: center;
  width: 56px;
}

.gj-login-v1 .gj-login-choice-title {
  display: block;
  font-size: 16px;
  font-weight: 700;
}

.gj-login-v1 .gj-login-choice-subtitle {
  color: #697586;
  display: block;
  font-size: 13px;
}

.gj-login-v1 .input-group-text {
  color: #6b7280;
  font-size: 18px;
  justify-content: center;
  min-width: 46px;
}

.gj-login-v1 .input-group > .input-group-text:first-child {
  pointer-events: none;
}

.gj-login-v1 .input-group > .form-control {
  position: relative;
  z-index: 2;
}

.gj-login-v1 .alert {
  border-radius: 10px;
}

.gj-login-v1 .forgot-link {
  font-weight: 700;
  text-decoration: none;
}

.gj-login-v1 .gj-password-toggle {
  background: #fff;
  border-left: 0;
  color: #697586;
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  z-index: 3;
}

.gj-login-v1 .gj-password-toggle:hover,
.gj-login-v1 .gj-password-toggle:focus {
  color: #202939;
}

@media (max-width: 575.98px) {
  .gj-login-v1 .auth-wrapper {
    padding: 16px;
  }

  .gj-login-v1 .gj-login-card .card-body {
    padding: 22px;
  }
}

.gj-dashboard {
  display: grid;
  gap: 16px;
}

.gj-dashboard .kpi-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 16px;
}

.gj-dashboard .dash-row-2 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px;
}

.gj-dashboard .section-title {
  color: #202939;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 12px;
}

.gj-dashboard .gj-kpi-card,
.gj-dashboard .gj-stat-card,
.gj-dashboard .gj-count-card,
.gj-dashboard .gj-mobile-list-card {
  border: 1px solid #e7eaee;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(27, 46, 94, 0.06);
}

.gj-dashboard .gj-kpi-card {
  min-height: 116px;
  padding: 18px;
  position: relative;
}

.gj-dashboard .gj-kpi-blue { background: linear-gradient(135deg, #eef3ff, #fff); }
.gj-dashboard .gj-kpi-orange { background: linear-gradient(135deg, #fff6e8, #fff); }
.gj-dashboard .gj-kpi-green { background: linear-gradient(135deg, #eaf7ee, #fff); }

.gj-dashboard .kpi-icon {
  align-items: center;
  background: rgba(255, 255, 255, 0.75);
  border-radius: 8px;
  color: #5b6b82;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  position: absolute;
  right: 16px;
  top: 16px;
  width: 34px;
}

.gj-dashboard .kpi-label,
.gj-dashboard .s-label,
.gj-dashboard .c-title {
  color: #697586;
  font-size: 12px;
  font-weight: 600;
}

.gj-dashboard .kpi-value,
.gj-dashboard .s-value,
.gj-dashboard .c-days {
  color: #202939;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1;
}

.gj-dashboard .stat-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, 1fr);
}

.gj-dashboard .stat-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gj-dashboard .gj-stat-card,
.gj-dashboard .gj-count-card {
  padding: 14px;
}

.gj-dashboard .stat-unread { background: #fff5f5; }
.gj-dashboard .stat-pending { background: #fff8eb; }
.gj-dashboard .stat-progress { background: #f1f6ff; }
.gj-dashboard .stat-settled { background: #effaf3; }

.gj-dashboard .compact-list {
  display: grid;
  gap: 10px;
}

.gj-dashboard .compact-list .row {
  align-items: center;
  border-bottom: 1px solid #eef1f5;
  display: grid;
  grid-template-columns: 1.4fr auto;
  margin: 0;
  padding: 8px 0;
}

.gj-dashboard .compact-list .row:last-child {
  border-bottom: 0;
}

.gj-dashboard .compact-list .label {
  color: #697586;
  font-size: 13px;
}

.gj-dashboard .compact-list .value {
  color: #202939;
  font-size: 13px;
  font-weight: 700;
  text-align: right;
}

.gj-dashboard .perf-head,
.gj-dashboard .perf-row {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 1.8fr 0.9fr 1fr 1.2fr;
}

.gj-dashboard .perf-head {
  border-bottom: 1px solid #e7eaee;
  color: #697586;
  font-size: 12px;
  font-weight: 700;
  padding: 12px 16px;
  text-transform: uppercase;
}

.gj-dashboard .perf-row {
  border-bottom: 1px solid #eef1f5;
  color: #364152;
  font-size: 13px;
  padding: 12px 16px;
}

.gj-dashboard .perf-row:last-child {
  border-bottom: 0;
}

.gj-dashboard .avatar-sm {
  align-items: center;
  background: #eef2ff;
  border-radius: 50%;
  color: #5546cf;
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  height: 28px;
  justify-content: center;
  overflow: hidden;
  width: 28px;
}

.gj-dashboard .gj-avatar-img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.gj-dashboard .count-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, 1fr);
}

.gj-dashboard .poster-scroll,
.gj-dashboard .m-poster-scroll {
  display: grid;
  gap: 12px;
  grid-auto-flow: column;
  grid-auto-columns: minmax(220px, 31%);
  overflow-x: auto;
  padding-bottom: 6px;
  scroll-snap-type: x mandatory;
}

.gj-v2-shell {
  display: grid;
  gap: 20px;
}

.gj-v2-toolbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
}

.gj-v2-title {
  color: #202939;
  font-size: 24px;
  font-weight: 700;
  margin: 0;
}

.gj-v2-subtitle {
  color: #697586;
  font-size: 13px;
  margin: 4px 0 0;
}

.gj-v2-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gj-v2-metrics {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gj-v2-card {
  border: 1px solid #e7eaee;
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(27, 46, 94, 0.06);
}

.gj-v2-metric-card {
  background: linear-gradient(135deg, #ffffff, #f7f9fc);
  min-height: 128px;
  padding: 18px;
  position: relative;
}

.gj-v2-metric-card.is-primary {
  background: linear-gradient(135deg, #eef3ff, #ffffff);
}

.gj-v2-metric-card.is-warning {
  background: linear-gradient(135deg, #fff7eb, #ffffff);
}

.gj-v2-metric-card.is-success {
  background: linear-gradient(135deg, #edf9f1, #ffffff);
}

.gj-v2-metric-card.is-danger {
  background: linear-gradient(135deg, #fff2f2, #ffffff);
}

.gj-v2-metric-label {
  color: #697586;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 8px;
}

.gj-v2-metric-value {
  color: #202939;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0;
}

.gj-v2-metric-note {
  color: #697586;
  font-size: 12px;
  margin-top: 8px;
}

.gj-departure-kpi-card {
  --gj-departure-kpi-bg-1: #ffffff;
  --gj-departure-kpi-bg-2: #f7f9fc;
  --gj-departure-kpi-icon-bg: #eef2ff;
  --gj-departure-kpi-icon-color: #5b5fc7;
  background: linear-gradient(135deg, var(--gj-departure-kpi-bg-1), var(--gj-departure-kpi-bg-2));
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 14px 30px rgba(27, 46, 94, 0.07);
  min-height: 132px;
  overflow: hidden;
  padding: 0;
}

.gj-departure-kpi-body {
  align-items: center;
  display: flex;
  gap: 14px;
  padding: 18px;
}

.gj-departure-kpi-icon {
  align-items: center;
  background: var(--gj-departure-kpi-icon-bg);
  border-radius: 16px;
  color: var(--gj-departure-kpi-icon-color);
  display: inline-flex;
  flex: 0 0 52px;
  font-size: 24px;
  height: 52px;
  justify-content: center;
  width: 52px;
}

.gj-departure-kpi-content {
  min-width: 0;
}

.gj-departure-kpi-primary {
  --gj-departure-kpi-bg-1: #f1f4ff;
  --gj-departure-kpi-bg-2: #ffffff;
  --gj-departure-kpi-icon-bg: #e6eaff;
  --gj-departure-kpi-icon-color: #6658dd;
}

.gj-departure-kpi-success {
  --gj-departure-kpi-bg-1: #eefaf1;
  --gj-departure-kpi-bg-2: #ffffff;
  --gj-departure-kpi-icon-bg: #dff6e7;
  --gj-departure-kpi-icon-color: #1f9d57;
}

.gj-departure-kpi-info {
  --gj-departure-kpi-bg-1: #eef7ff;
  --gj-departure-kpi-bg-2: #ffffff;
  --gj-departure-kpi-icon-bg: #ddeefe;
  --gj-departure-kpi-icon-color: #2d7ff9;
}

.gj-departure-kpi-warning {
  --gj-departure-kpi-bg-1: #fff6ec;
  --gj-departure-kpi-bg-2: #ffffff;
  --gj-departure-kpi-icon-bg: #ffe7ce;
  --gj-departure-kpi-icon-color: #f08c2b;
}

.gj-departure-summary-list {
  display: grid;
  gap: 10px;
}

.gj-departure-summary-row {
  align-items: center;
  border: 1px solid #edf1f5;
  border-radius: 12px;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 10px 12px;
}

.gj-departure-summary-icon {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 15px;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.gj-departure-summary-icon-primary {
  background: #eef2ff;
  color: #6658dd;
}

.gj-departure-summary-icon-info {
  background: #e8f2ff;
  color: #2d7ff9;
}

.gj-departure-summary-icon-warning {
  background: #fff3e2;
  color: #f08c2b;
}

.gj-departure-summary-icon-success {
  background: #e7f8ec;
  color: #1f9d57;
}

.gj-departure-summary-label {
  color: #344054;
  font-size: 13px;
  font-weight: 600;
  min-width: 0;
}

.gj-departure-summary-value {
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  padding: 5px 10px;
}

.gj-departure-summary-value-primary {
  background: #eef2ff;
  color: #6658dd;
}

.gj-departure-summary-value-info {
  background: #e8f2ff;
  color: #2d7ff9;
}

.gj-departure-summary-value-warning {
  background: #fff3e2;
  color: #c96d11;
}

.gj-departure-summary-value-success {
  background: #e7f8ec;
  color: #1f9d57;
}

.gj-v2-grid-2 {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
}

.gj-v2-grid-3 {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gj-v2-list {
  display: grid;
  gap: 12px;
}

.gj-v2-list-row {
  align-items: center;
  border: 1px solid #edf1f7;
  border-radius: 10px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 14px;
}

.gj-v2-list-title {
  color: #202939;
  font-size: 14px;
  font-weight: 700;
  margin: 0;
}

.gj-v2-list-meta {
  color: #697586;
  font-size: 12px;
  margin-top: 4px;
}

.gj-v2-empty {
  background: #f8fafc;
  border: 1px dashed #d9e1ec;
  border-radius: 12px;
  color: #697586;
  padding: 28px 20px;
  text-align: center;
}

.gj-v2-kv {
  display: grid;
  gap: 10px;
}

.gj-v2-kv-row {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.gj-v2-kv-label {
  color: #697586;
  font-size: 13px;
}

.gj-v2-kv-value {
  color: #202939;
  font-size: 13px;
  font-weight: 700;
  text-align: right;
}

.gjdep-summary-kv .gj-v2-kv-row {
  justify-content: flex-start;
}

.gjdep-summary-kv .gj-v2-kv-label {
  font-size: 12px;
  min-width: 120px;
}

.gjdep-summary-kv .gj-v2-kv-value {
  font-size: 12px;
  font-weight: 800;
  text-align: left;
}

.gj-v2-pill {
  background: #f5f7fb;
  border: 1px solid #e7eaee;
  border-radius: 999px;
  color: #4b5565;
  display: inline-flex;
  font-size: 12px;
  font-weight: 600;
  gap: 6px;
  padding: 6px 10px;
}

.gj-v2-progress {
  background: #edf1f7;
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
  width: 100%;
}

.gj-v2-progress > span {
  background: linear-gradient(90deg, #7267ef, #4f46e5);
  display: block;
  height: 100%;
}

.gj-v2-dashboard .gj-v2-title {
  color: #7267ef;
  font-size: 42px;
  line-height: 1.06;
}

.gj-v2-dashboard .gj-v2-subtitle {
  font-size: 14px;
  max-width: 760px;
}

.gj-v2-dashboard .gj-v2-card {
  border-color: rgba(226, 232, 240, 0.95);
  box-shadow: none;
}

.gj-v2-dashboard .gj-v2-toolbar-btn,
.gj-v2-dashboard .gj-v2-action-btn,
.gj-v2-dashboard .gj-v2-icon-btn {
  align-items: center;
  border-radius: 12px !important;
  box-shadow: none !important;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
}

.gj-v2-dashboard .gj-v2-toolbar-btn i,
.gj-v2-dashboard .gj-v2-action-btn i,
.gj-v2-dashboard .gj-v2-icon-btn i {
  font-size: 16px;
}

.gj-v2-dashboard .gj-v2-icon-btn {
  min-width: 42px;
  padding: 0;
}

.gj-v2-dashboard .gj-v2-card-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.gj-v2-dashboard .gj-v2-section-title {
  align-items: center;
  display: inline-flex;
  gap: 10px;
}

.gj-v2-dashboard .gj-v2-section-icon {
  align-items: center;
  border-radius: 14px;
  display: inline-flex;
  flex: 0 0 38px;
  font-size: 18px;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.gj-v2-dashboard .gj-v2-section-icon.tone-primary,
.gj-v2-dashboard .gj-v2-list-icon.tone-primary,
.gj-v2-dashboard .gj-v2-bucket-icon.tone-primary,
.gj-v2-dashboard .gj-v2-activity-icon.tone-primary,
.gj-v2-dashboard .gj-v2-status-badge.tone-primary {
  background: #eef2ff;
  color: #6658dd;
}

.gj-v2-dashboard .gj-v2-section-icon.tone-info,
.gj-v2-dashboard .gj-v2-list-icon.tone-info,
.gj-v2-dashboard .gj-v2-activity-icon.tone-info,
.gj-v2-dashboard .gj-v2-status-badge.tone-info {
  background: #e8f2ff;
  color: #2d7ff9;
}

.gj-v2-dashboard .gj-v2-section-icon.tone-success,
.gj-v2-dashboard .gj-v2-list-icon.tone-success,
.gj-v2-dashboard .gj-v2-bucket-icon.tone-success,
.gj-v2-dashboard .gj-v2-activity-icon.tone-success,
.gj-v2-dashboard .gj-v2-status-badge.tone-success {
  background: #e7f8ec;
  color: #1f9d57;
}

.gj-v2-dashboard .gj-v2-section-icon.tone-warning,
.gj-v2-dashboard .gj-v2-list-icon.tone-warning,
.gj-v2-dashboard .gj-v2-bucket-icon.tone-warning,
.gj-v2-dashboard .gj-v2-activity-icon.tone-warning,
.gj-v2-dashboard .gj-v2-status-badge.tone-warning {
  background: #fff3e2;
  color: #c96d11;
}

.gj-v2-dashboard .gj-v2-list-icon.tone-muted,
.gj-v2-dashboard .gj-v2-bucket-icon.tone-muted,
.gj-v2-dashboard .gj-v2-activity-icon.tone-muted,
.gj-v2-dashboard .gj-v2-status-badge.tone-muted {
  background: #f4f6f9;
  color: #475467;
}

.gj-v2-dashboard .gj-v2-status-badge.tone-danger {
  background: #fff1f3;
  color: #c01048;
}

.gj-v2-dashboard .gj-v2-status-badge.tone-secondary {
  background: #f5f7fa;
  color: #475467;
}

.gj-v2-dashboard .gj-v2-list-row {
  border-radius: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.gj-v2-dashboard .gj-v2-list-main {
  align-items: center;
  display: grid;
  gap: 2px 12px;
  grid-template-columns: 34px minmax(0, 1fr);
}

.gj-v2-dashboard .gj-v2-list-main .gj-v2-list-title,
.gj-v2-dashboard .gj-v2-list-main .gj-v2-list-meta {
  grid-column: 2;
}

.gj-v2-dashboard .gj-v2-list-icon,
.gj-v2-dashboard .gj-v2-bucket-icon,
.gj-v2-dashboard .gj-v2-activity-icon {
  align-items: center;
  border-radius: 12px;
  display: inline-flex;
  flex: 0 0 34px;
  font-size: 16px;
  grid-row: 1 / span 2;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.gj-v2-dashboard .gj-v2-list-side {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gj-v2-dashboard .gj-v2-next-departure {
  display: grid;
  gap: 14px;
}

.gj-v2-dashboard .gj-v2-next-head,
.gj-v2-dashboard .gj-v2-next-footer {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.gj-v2-dashboard .gj-v2-flag-cluster {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gj-v2-dashboard .gj-v2-flag {
  border: 1px solid #e6e9ef;
  border-radius: 4px;
  display: inline-flex;
  overflow: hidden;
}

.gj-v2-dashboard .gj-v2-flag img,
.gj-v2-dashboard .gj-v2-flag span {
  display: block;
  height: 16px;
  width: 22px;
}

.gj-v2-dashboard .gj-v2-countdown-badge,
.gj-v2-dashboard .gj-v2-status-badge {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  gap: 6px;
  line-height: 1;
  padding: 7px 10px;
}

.gj-v2-dashboard .gj-v2-countdown-badge.tone-primary {
  background: #eef2ff;
  border-color: #d9ddff;
  color: #6658dd;
}

.gj-v2-dashboard .gj-v2-countdown-badge.tone-info {
  background: #ebf5ff;
  border-color: #d5e8ff;
  color: #2d7ff9;
}

.gj-v2-dashboard .gj-v2-countdown-badge.tone-warning {
  background: #fff3e2;
  border-color: #ffd7a7;
  color: #c96d11;
}

.gj-v2-dashboard .gj-v2-countdown-badge.tone-danger {
  background: #fff1f3;
  border-color: #fecdd6;
  color: #c01048;
}

.gj-v2-dashboard .gj-v2-countdown-badge.tone-muted {
  background: #f5f7fa;
  border-color: #e3e7ee;
  color: #475467;
}

.gj-v2-dashboard .gj-v2-next-kv {
  gap: 8px;
}

.gj-v2-dashboard .gj-v2-mini-profile {
  align-items: center;
  display: inline-flex;
  gap: 10px;
  min-width: 0;
}

.gj-v2-dashboard .gj-v2-mini-profile-name {
  color: #202939;
  font-size: 13px;
  font-weight: 700;
}

.gj-v2-dashboard .gj-v2-mini-profile-role {
  color: #697586;
  font-size: 12px;
}

.gj-v2-dashboard .gj-v2-avatar {
  align-items: center;
  background: #eef2ff;
  border: 1px solid #dfe4f0;
  border-radius: 999px;
  color: #6658dd;
  display: inline-flex;
  flex: 0 0 38px;
  font-size: 12px;
  font-weight: 800;
  height: 38px;
  justify-content: center;
  overflow: hidden;
  width: 38px;
}

.gj-v2-dashboard .gj-v2-avatar img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.gj-v2-dashboard .gj-v2-avatar.is-fallback {
  background: #f3f4f6;
  color: #667085;
}

.gj-v2-dashboard .gj-v2-quick-actions {
  gap: 10px;
}

.gj-v2-dashboard .gj-v2-health-table thead th {
  background: #f8fafc;
  border-bottom: 1px solid #e7eaee;
  color: #697586;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gj-v2-dashboard .gj-v2-health-table tbody td {
  border-bottom: 1px solid #eef1f5;
  padding: 14px 16px;
  vertical-align: middle;
}

.gj-v2-dashboard .gj-v2-trip-cell {
  display: grid;
  gap: 4px;
}

.gj-v2-dashboard .gj-v2-capacity-stack {
  display: grid;
  gap: 4px;
  margin-bottom: 8px;
}

.gj-v2-dashboard .gj-v2-status-stack,
.gj-v2-dashboard .gj-v2-badge-stack {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
}

.gj-v2-dashboard .gj-v2-bucket-list {
  display: grid;
  gap: 10px;
}

.gj-v2-dashboard .gj-v2-bucket-row {
  align-items: center;
  border: 1px solid #edf1f7;
  border-radius: 14px;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 12px 14px;
}

.gj-v2-dashboard .gj-v2-bucket-label {
  color: #344054;
  font-size: 13px;
  font-weight: 700;
}

.gj-v2-dashboard .gj-v2-bucket-value {
  color: #202939;
  font-size: 18px;
  font-weight: 800;
}

.gj-v2-dashboard .gj-v2-payment-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gj-v2-dashboard .gj-v2-activity-feed {
  display: grid;
  gap: 14px;
}

.gj-v2-dashboard .gj-v2-activity-item {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  display: grid;
  gap: 12px;
  grid-template-columns: 40px minmax(0, 1fr);
  padding: 14px 16px;
}

.gj-v2-dashboard .gj-v2-activity-body {
  min-width: 0;
}

.gj-v2-dashboard .gj-v2-activity-title {
  color: #1f2a44;
  font-size: 14px;
  font-weight: 800;
}

.gj-v2-dashboard .gj-v2-activity-meta {
  color: #697586;
  font-size: 12px;
  margin-top: 4px;
}

@media (max-width: 1199.98px) {
  .gj-v2-dashboard .gj-v2-title {
    font-size: 36px;
  }

  .gj-v2-dashboard .gj-v2-payment-summary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991.98px) {
  .gj-v2-dashboard .gj-v2-toolbar-btn {
    width: 100%;
  }

  .gj-v2-dashboard .gj-v2-next-head,
  .gj-v2-dashboard .gj-v2-next-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .gj-v2-dashboard .gj-v2-list-row {
    grid-template-columns: 1fr;
  }

  .gj-v2-dashboard .gj-v2-list-side,
  .gj-v2-dashboard .gj-v2-badge-stack,
  .gj-v2-dashboard .gj-v2-status-stack {
    align-items: flex-start;
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .gj-v2-dashboard .gj-v2-title {
    font-size: 30px;
  }

  .gj-v2-dashboard .gj-v2-section-title {
    align-items: flex-start;
  }

  .gj-v2-dashboard .gj-v2-list-main {
    grid-template-columns: 1fr;
  }

  .gj-v2-dashboard .gj-v2-list-main .gj-v2-list-title,
  .gj-v2-dashboard .gj-v2-list-main .gj-v2-list-meta {
    grid-column: auto;
  }

  .gj-v2-dashboard .gj-v2-list-icon {
    grid-row: auto;
  }

  .gj-v2-dashboard .gj-v2-bucket-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .gj-v2-dashboard .gj-v2-bucket-value {
    grid-column: 2;
  }
}

.gj-departure-board {
  display: grid;
  gap: 16px;
}

.gj-departure-board-head {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
}

.gj-departure-board-title {
  font-size: 20px;
}

.gj-departure-header-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px;
}

.gj-departure-create-btn {
  align-items: center;
  background: #7267ef;
  border: 1px solid #7267ef;
  border-radius: 12px !important;
  color: #ffffff;
  display: inline-flex;
  font-weight: 700;
  font-size: 14px;
  gap: 8px;
  justify-content: center;
  line-height: 1;
  min-height: 38px;
  padding: 0 16px;
  vertical-align: middle;
}

.gj-departure-create-btn i {
  font-size: 15px;
  line-height: 1;
}

.gj-departure-create-btn:hover,
.gj-departure-create-btn:focus {
  background: #6658dd;
  border-color: #6658dd;
  color: #ffffff;
}

.gj-departure-viewbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
}

.gj-departure-section-head {
  align-items: center;
  display: grid;
  gap: 0 12px;
  grid-template-columns: auto minmax(0, 1fr);
}

.gj-departure-section-icon {
  align-items: center;
  background: linear-gradient(135deg, #eef2ff, #ffffff);
  border: 1px solid #dfe5ff;
  border-radius: 14px;
  color: #625ae7;
  display: inline-flex;
  font-size: 20px;
  grid-row: 1;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.gj-departure-view-switch {
  align-items: center;
  background: #ffffff;
  border: 1px solid #dfe3ea;
  border-radius: 12px;
  display: inline-flex;
  gap: 6px;
  padding: 4px;
}

.gj-departure-view-switch .btn {
  align-items: center;
  border-radius: 8px !important;
  display: inline-flex;
  font-weight: 700;
  font-size: 14px;
  gap: 8px;
  min-height: 38px;
  padding: 0 16px !important;
  justify-content: center;
  line-height: 1;
  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  vertical-align: middle;
}

.gj-departure-view-switch .btn i {
  font-size: 15px;
  line-height: 1;
}

.gj-departure-view-switch .btn.btn-light {
  background: #ffffff;
  border-color: #e3e8ef;
  color: #475467;
}

.gj-departure-view-switch .btn.btn-light:hover,
.gj-departure-view-switch .btn.btn-light:focus {
  background: #f3f0ff;
  border-color: #d8d2ff;
  color: #5b50da;
}

.gj-departure-view-switch .btn.btn-primary {
  background: #7267ef;
  border-color: #7267ef;
  color: #ffffff;
}

.gj-departure-view-switch .btn.btn-primary:hover,
.gj-departure-view-switch .btn.btn-primary:focus {
  background: #6658dd;
  border-color: #6658dd;
  color: #ffffff;
}

.gj-departure-table-view .gj-v2-actions {
  justify-content: flex-end;
}

.gj-departure-table-card {
  overflow: hidden;
}

.gj-departure-table {
  min-width: 920px;
}

.gj-departure-table > :not(caption) > * > * {
  padding: 16px 14px;
  vertical-align: middle;
}

.gj-departure-table thead th {
  color: #344054;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.gj-departure-table tbody td {
  color: #202939;
  font-size: 14px;
}

.gj-departure-table .badge {
  font-weight: 700;
}

.gj-departure-table-col-no {
  width: 56px;
}

.gj-departure-table-no {
  color: #667085;
  font-size: 13px;
  font-weight: 700;
}

.gj-departure-table-package-main {
  align-items: center;
  display: inline-flex;
  gap: 10px;
}

.gj-departure-table-subtitle {
  margin-top: 4px;
}

.gj-departure-table-date-main {
  color: #202939;
  font-weight: 700;
}

.gj-departure-table-date-meta {
  color: #697586;
  font-size: 12px;
  margin-top: 4px;
}

.gj-departure-table-addon-stack {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
}

.gj-departure-table-addon-pill {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  justify-content: center;
  line-height: 1;
  min-height: 26px;
  padding: 5px 9px;
  white-space: nowrap;
}

.gj-departure-table-addon-pill.is-success {
  background: #ecfdf3;
  border-color: #b7ebc6;
  color: #027a48;
}

.gj-departure-table-addon-pill.is-warning {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}

.gj-departure-table-addon-pill.is-danger {
  background: #fff1f2;
  border-color: #fecdd3;
  color: #b42318;
}

.gj-departure-table-addon-pill.is-muted {
  background: #f5f7fa;
  border-color: #dfe3e8;
  color: #667085;
}

.gj-departure-flag-cluster-sm {
  gap: 4px;
}

.gj-departure-flag-badge-sm {
  height: 20px;
  width: 28px;
}

.gj-departure-modal-dialog {
  max-width: 1040px;
}

.gj-departure-modal-content {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 18px;
  box-shadow: 0 22px 54px rgba(15, 23, 42, 0.16);
  overflow: hidden;
}

.gj-departure-modal-form {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.gj-departure-modal-header {
  align-items: center;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-bottom: 1px solid #eef1f5;
  padding: 18px 22px;
}

.gj-departure-modal-header .modal-title {
  color: #202939;
  font-size: 18px;
  font-weight: 800;
}

.gj-departure-modal-body {
  padding: 22px;
}

.gj-departure-modal-body .form-label {
  color: #344054;
  font-size: 12px;
  font-weight: 700;
}

.gj-departure-modal-body .form-control,
.gj-departure-modal-body .form-select {
  min-height: 42px;
}

.gj-departure-modal-body textarea.form-control {
  min-height: 120px;
}

.gj-departure-modal-footer {
  border-top: 1px solid #eef1f5;
  gap: 8px;
  padding: 16px 22px;
}

.gj-departure-addon-modal-subtitle {
  color: #697586;
  font-size: 13px;
  font-weight: 700;
}

.gj-departure-addon-summary {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 16px;
}

.gj-departure-addon-summary-item {
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  padding: 12px 14px;
}

.gj-departure-addon-summary-label {
  color: #697586;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.gj-departure-addon-summary-value {
  color: #202939;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  margin-top: 6px;
}

.gj-departure-month {
  display: grid;
  gap: 14px;
}

.gj-departure-board-title {
  color: #7267ef;
  font-size: 34px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.05;
}

.gj-departure-month-header {
  align-items: center;
  display: flex;
  gap: 12px;
  margin-bottom: 6px;
}

.gj-departure-month-heading {
  align-items: center;
  display: inline-flex;
  gap: 12px;
  min-width: 0;
}

.gj-departure-month-icon {
  align-items: center;
  background: linear-gradient(135deg, #f2f4ff, #ffffff);
  border: 1px solid #e2e8ff;
  border-radius: 16px;
  color: #625ae7;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 20px;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.gj-departure-month-title {
  color: #202939;
  font-size: 32px;
  font-weight: 800;
  margin: 0;
  line-height: 1.05;
}

.gj-departure-month-line {
  background: #e7eaee;
  flex: 1;
  height: 1px;
}

.gj-departure-trip-pill {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #dfe3ea;
  border-radius: 999px;
  color: #344054;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 800;
  gap: 8px;
  padding: 8px 14px;
}

.gj-departure-trip-pill i {
  color: #625ae7;
  font-size: 18px;
  line-height: 1;
}

.gj-departure-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gj-departure-card .card-body {
  display: grid;
  gap: 18px;
  padding: 20px;
  position: relative;
}

.gj-departure-page .gj-v2-card {
  box-shadow: none;
}

.gj-departure-page .gj-v2-metric-card,
.gj-departure-page .gj-v2-metric-card.is-primary,
.gj-departure-page .gj-v2-metric-card.is-warning,
.gj-departure-page .gj-v2-metric-card.is-success,
.gj-departure-page .gj-v2-metric-card.is-danger {
  background: #ffffff;
}

.gj-departure-page .gj-departure-kpi-card,
.gj-departure-page .gj-departure-kpi-card.gj-departure-kpi-primary,
.gj-departure-page .gj-departure-kpi-card.gj-departure-kpi-success,
.gj-departure-page .gj-departure-kpi-card.gj-departure-kpi-info,
.gj-departure-page .gj-departure-kpi-card.gj-departure-kpi-warning {
  background: linear-gradient(135deg, var(--gj-departure-kpi-bg-1), var(--gj-departure-kpi-bg-2));
}

.gj-departure-page .gj-v2-progress > span {
  background: #7267ef;
}

.gj-departure-card {
  background: #ffffff;
  border: 1px solid #e7eaee;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
  position: relative;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.gj-departure-card:hover {
  border-color: #d7deea;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
  transform: translateY(-1px);
}

.gj-departure-top {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  position: relative;
  z-index: 2;
}

.gj-departure-country-row {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 100%;
}

.gj-departure-flag-cluster {
  display: inline-flex;
  gap: 6px;
}

.gj-departure-flag-badge {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 0;
  display: inline-flex;
  height: 28px;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  width: 40px;
}

.gj-departure-flag-image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.gj-departure-flag-fallback {
  align-items: center;
  display: inline-flex;
  font-size: 18px;
  justify-content: center;
  line-height: 1;
}

.gj-departure-country-label,
.gj-departure-country-fallback {
  color: #475467;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.gj-departure-country-fallback {
  align-items: center;
  display: inline-flex;
  gap: 6px;
}

.gj-departure-badges {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  flex: 0 0 132px;
  gap: 6px;
  min-width: 132px;
  position: relative;
  z-index: 2;
}

.gj-departure-badges > * {
  justify-content: center;
}

.gj-departure-countdown {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  gap: 6px;
  letter-spacing: 0.01em;
  line-height: 1;
  padding: 8px 12px;
  white-space: nowrap;
}

.gj-departure-countdown i {
  font-size: 13px;
  line-height: 1;
}

.gj-departure-countdown-info {
  background: #f5f7fa;
  border-color: #dfe3e8;
  color: #475467;
}

.gj-departure-countdown-primary {
  background: #edf6ff;
  border-color: #cfe3fb;
  color: #175cd3;
}

.gj-departure-countdown-warning {
  background: #fff6e8;
  border-color: #f6d29f;
  color: #b54708;
}

.gj-departure-countdown-danger {
  background: #fff1f2;
  border-color: #fecdd3;
  color: #b42318;
}

.gj-departure-countdown-muted {
  background: #f5f7fa;
  border-color: #dfe3e8;
  color: #667085;
}

.gj-departure-status {
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1;
  padding: 8px 12px;
  white-space: nowrap;
}

.gj-departure-status-secondary {
  font-size: 10px;
  padding: 6px 10px;
}

.gj-departure-status-need-push {
  background: #f5f7fa;
  border-color: #dfe3e8;
  color: #475467;
}

.gj-departure-status-open {
  background: #edf6ff;
  border-color: #cfe3fb;
  color: #175cd3;
}

.gj-departure-status-almost-full {
  background: #fff6e8;
  border-color: #f6d29f;
  color: #b54708;
}

.gj-departure-status-full {
  background: #ecfdf3;
  border-color: #b7ebc6;
  color: #027a48;
}

.gj-departure-attn {
  padding: 4px 10px;
}

.gj-departure-attn.is-need-push {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}

.gj-departure-attn.is-almost-full {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}

.gj-departure-attn.is-full {
  background: #fff1f2;
  border-color: #fecdd3;
  color: #9f1239;
}

.gj-departure-title {
  color: #202939;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 0.01em;
  line-height: 1.1;
  margin: 0;
  position: relative;
  z-index: 2;
}

.gj-departure-detail-toolbar {
  margin-top: 12px;
}

.gj-departure-detail-hero {
  align-items: stretch;
  margin-top: 12px;
}

.gj-departure-detail-hero > .card {
  height: 100%;
}

.gj-departure-detail-head {
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.gjdep-is-hidden {
  display: none !important;
}

.gjdep-detail-title {
  font-size: 32px;
  font-weight: 900;
  letter-spacing: 0.01em;
}

.gjdep-detail-date {
  font-size: 16px;
  font-weight: 700;
}

.gjdep-detail-country {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 0;
  padding: 0;
}

.gjdep-detail-country-flag {
  border-radius: 2px;
  height: 27px;
  object-fit: cover;
  width: 36px;
}

.gjdep-detail-country-fallback {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

.gjdep-detail-country-emoji {
  font-size: 16px;
  line-height: 1;
}

.gjdep-detail-country-label {
  color: #202939;
  font-size: 12px;
  font-weight: 800;
}

.gj-departure-countryline {
  color: #52606d;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 13px;
  font-weight: 700;
  margin-top: 10px;
}

.gj-departure-countryline-item {
  align-items: center;
  display: inline-flex;
  gap: 6px;
}

.gj-departure-flag {
  font-size: 14px;
  line-height: 1;
}

.gj-departure-detail-badges {
  display: flex;
  justify-content: flex-end;
}

.gj-departure-detail-tabs {
  margin-top: 14px;
}

.gj-departure-ops-metrics {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 14px;
}

.gj-departure-ops-metric {
  border: 1px solid #eef1f5;
  padding: 14px;
}

.gj-departure-ops-label {
  color: #697586;
  font-size: 12px;
  font-weight: 700;
}

.gj-departure-ops-value {
  color: #101828;
  font-size: 18px;
  font-weight: 900;
  margin-top: 6px;
}

.gj-departure-breakdown-head {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 10px;
}

.gj-departure-breakdown-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gj-departure-breakdown-card {
  padding: 12px;
}

.gj-departure-breakdown-label {
  color: #697586;
  font-size: 12px;
  font-weight: 700;
}

.gj-departure-breakdown-value {
  color: #101828;
  font-size: 16px;
  font-weight: 900;
  margin-top: 6px;
}

.gj-departure-stage {
  border: 1px solid #eef1f5;
  border-radius: 12px;
  padding: 12px;
}

.gj-departure-stage + .gj-departure-stage {
  margin-top: 14px;
}

.gj-departure-stage-head {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 10px;
}

.gjdep-booking-group-row > td {
  vertical-align: middle;
}

.gjdep-booking-group-title {
  color: #101828;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.gjdep-booking-group-pills,
.gjdep-booking-group-reasons,
.gjdep-booking-group-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gjdep-booking-group-pills {
  margin-top: 8px;
}

.gjdep-booking-group-pill {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 999px;
  color: #475467;
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  min-height: 28px;
  padding: 5px 10px;
}

.gjdep-booking-group-pill.is-success {
  background: #edf9f1;
  border-color: #b7ebc6;
  color: #166534;
}

.gjdep-booking-group-pill.is-warning {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}

.gjdep-booking-group-detail-row > td {
  background: #fbfcfe;
}

.gjdep-booking-group-panel {
  border-top: 1px solid #eef1f5;
  padding: 14px 16px 16px;
}

.gjdep-booking-group-panel-head {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 10px;
}

.gjdep-booking-group-panel-title {
  color: #101828;
  font-size: 13px;
  font-weight: 800;
}

.gjdep-booking-group-panel-subtitle {
  color: #697586;
  font-size: 12px;
  margin-top: 4px;
}

.gjdep-booking-group-reasons {
  margin-bottom: 10px;
}

.gjdep-booking-passenger-table thead th {
  color: #475467;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.gjdep-booking-passenger-table tbody td {
  font-size: 12px;
}

.gj-departure-compact-stage-toggle {
  align-items: center;
  color: inherit;
  display: inline-flex;
  gap: 12px;
  justify-content: space-between;
  width: 100%;
}

.gj-departure-compact-stage-toggle:hover,
.gj-departure-compact-stage-toggle:focus {
  color: inherit;
}

.gj-departure-compact-stage-chevron {
  color: #98a2b3;
  font-size: 18px;
  transition: transform 0.2s ease;
}

.gj-departure-compact-stage-toggle[aria-expanded="true"] .gj-departure-compact-stage-chevron {
  transform: rotate(180deg);
}

.gj-departure-compact-stage-body {
  margin-top: 8px;
}

.gj-departure-compact-table {
  table-layout: fixed;
  width: 100%;
}

/* GJ_COMPACT_BOOKING_UI_V2_20260716 */
.gj-departure-compact-table thead th {
  color: #667085;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding-bottom: 10px;
  padding-top: 10px;
  text-transform: uppercase;
}

.gj-departure-compact-table thead th:nth-child(1),
.gj-departure-compact-table tbody td:nth-child(1) {
  width: 5%;
}

.gj-departure-compact-table thead th:nth-child(2),
.gj-departure-compact-table tbody td:nth-child(2) {
  width: 8%;
}

.gj-departure-compact-table thead th:nth-child(3),
.gj-departure-compact-table tbody td:nth-child(3) {
  width: 29%;
}

.gj-departure-compact-table thead th:nth-child(4),
.gj-departure-compact-table tbody td:nth-child(4) {
  width: 18%;
}

.gj-departure-compact-table thead th:nth-child(5),
.gj-departure-compact-table tbody td:nth-child(5) {
  width: 22%;
}

.gj-departure-compact-table thead th:nth-child(6),
.gj-departure-compact-table tbody td:nth-child(6) {
  width: 10%;
}

.gj-departure-compact-table thead th:nth-child(7),
.gj-departure-compact-table tbody td:nth-child(7) {
  width: 12%;
}

.gj-departure-compact-row > td {
  padding-bottom: 12px;
  padding-top: 12px;
  vertical-align: middle;
}

.gj-departure-compact-customer,
.gj-departure-compact-progress,
.gj-departure-compact-status {
  min-width: 0;
}

.gj-departure-compact-no-cell,
.gj-departure-compact-owner-cell {
  vertical-align: middle !important;
}

.gj-departure-compact-no {
  color: #98a2b3;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  min-width: 20px;
  text-align: center;
}

.gj-departure-compact-customer-main {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  line-height: 1.35;
}

.gj-departure-compact-ref {
  color: #667085;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.gj-departure-compact-icon-btn {
  align-items: center;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  padding: 0;
  width: 36px;
}

.gj-departure-compact-icon-btn i {
  font-size: 16px;
}

.gj-departure-compact-owner {
  display: inline-flex;
  justify-content: center;
}

.gj-departure-compact-owner .gj-passenger-agent-avatar {
  height: 34px;
  width: 34px;
}

.gj-departure-compact-progress {
  display: grid;
  gap: 4px;
}

.gj-departure-compact-progress-line {
  align-items: center;
  color: #667085;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
}

.gj-departure-compact-dot {
  color: #98a2b3;
  font-size: 11px;
  line-height: 1;
}

.gj-departure-compact-status {
  display: grid;
  gap: 4px;
}

.gj-departure-compact-status-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.gj-departure-compact-seat {
  color: #667085;
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.gj-departure-compact-paid {
  color: #101828;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  white-space: nowrap;
}

.gj-departure-compact-paid.is-zero {
  color: #98a2b3;
}

.gj-departure-compact-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  justify-content: flex-end;
  min-width: 126px;
}

.gj-departure-compact-expand-btn[aria-expanded="true"] i {
  transform: rotate(180deg);
}

.gj-departure-compact-detail {
  background: #fbfcfe;
}

.gj-departure-compact-detail-grid {
  display: grid;
  gap: 10px 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 12px;
}

.gj-departure-compact-detail-item {
  background: #ffffff;
  border: 1px solid #eef1f5;
  border-radius: 12px;
  min-width: 0;
  padding: 10px 12px;
}

.gj-departure-compact-detail-label {
  color: #667085;
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.gj-departure-compact-detail-value {
  color: #101828;
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  word-break: break-word;
}

.gj-departure-compact-mobile-list {
  display: grid;
  gap: 12px;
}

.gj-departure-compact-mobile-card {
  border: 1px solid #eef1f5;
  border-radius: 14px;
  padding: 14px;
}

.gj-departure-compact-mobile-top,
.gj-departure-compact-mobile-foot {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.gj-departure-compact-mobile-main {
  flex: 1 1 auto;
  min-width: 0;
}

.gj-departure-compact-mobile-owner {
  flex: 0 0 auto;
}

.gj-departure-compact-mobile-foot {
  margin-top: 12px;
}

.gj-departure-compact-mobile-detail {
  border-top: 1px solid #eef1f5;
  margin-top: 12px;
  padding-top: 12px;
}

.gj-departure-compact-mobile-passenger-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.gj-departure-compact-mobile-passenger {
  background: #ffffff;
  border: 1px solid #eef1f5;
  border-radius: 12px;
  display: grid;
  gap: 6px;
  padding: 10px 12px;
}

.gj-departure-compact-mobile-passenger-name {
  color: #101828;
  font-size: 13px;
  font-weight: 700;
}

.gj-departure-compact-mobile-passenger-meta {
  color: #667085;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 12px;
}

@media (max-width: 1199.98px) {
  .gjdep-bookings-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gj-departure-compact-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .gjdep-bookings-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gjdep-bookings-toolbar {
    padding: 16px 16px 12px;
  }

  .gjdep-bookings-mobile-card {
    padding: 12px;
  }

  .gjdep-bookings-mobile-name {
    white-space: normal;
  }

  .gjdep-bookings-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gj-departure-stage {
    padding: 10px;
  }

  .gj-departure-compact-stage-toggle {
    gap: 10px;
  }

  .gj-departure-compact-mobile-card {
    padding: 12px;
  }

  .gj-departure-compact-mobile-top,
  .gj-departure-compact-mobile-foot {
    gap: 10px;
  }

  .gj-departure-compact-mobile-main .gjdep-booking-group-title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .gj-departure-compact-mobile-top {
    align-items: center;
  }

  .gj-departure-compact-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gj-departure-compact-actions {
    justify-content: flex-start;
  }
}

.gj-departure-payment-followup {
  margin-top: 14px;
}

.gj-departure-namelist-metrics {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gjdep-kpi-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  margin-bottom: 12px;
}

.gjdep-kpi-card {
  --gjdep-kpi-bg-1: #ffffff;
  --gjdep-kpi-bg-2: #f7f9fc;
  --gjdep-kpi-icon-bg: #f1f5f9;
  --gjdep-kpi-icon-color: #475467;
  background: linear-gradient(135deg, var(--gjdep-kpi-bg-1), var(--gjdep-kpi-bg-2));
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 10px 28px rgba(27, 46, 94, 0.06);
  overflow: hidden;
}

.gjdep-kpi-body {
  align-items: center;
  display: flex;
  gap: 14px;
  padding: 16px;
}

.gjdep-kpi-icon {
  align-items: center;
  background: var(--gjdep-kpi-icon-bg);
  border-radius: 14px;
  color: var(--gjdep-kpi-icon-color);
  display: flex;
  flex: 0 0 auto;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.gjdep-kpi-icon i {
  font-size: 22px;
  line-height: 1;
}

.gjdep-kpi-content {
  min-width: 0;
}

.gjdep-kpi-label {
  color: #697586;
  font-size: 12px;
  font-weight: 700;
  margin: 0;
}

.gjdep-kpi-value {
  color: #101828;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.1;
  margin-top: 6px;
}

.gjdep-kpi-note {
  color: #697586;
  font-size: 12px;
  margin-top: 8px;
}

.gjdep-kpi-primary {
  --gjdep-kpi-bg-1: #eef3ff;
  --gjdep-kpi-bg-2: #ffffff;
  --gjdep-kpi-icon-bg: #e4e7ff;
  --gjdep-kpi-icon-color: #7267ef;
}

.gjdep-kpi-warning {
  --gjdep-kpi-bg-1: #fff7eb;
  --gjdep-kpi-bg-2: #ffffff;
  --gjdep-kpi-icon-bg: #ffedd5;
  --gjdep-kpi-icon-color: #f97316;
}

.gjdep-kpi-info {
  --gjdep-kpi-bg-1: #eff6ff;
  --gjdep-kpi-bg-2: #ffffff;
  --gjdep-kpi-icon-bg: #dbeafe;
  --gjdep-kpi-icon-color: #2563eb;
}

.gjdep-kpi-danger {
  --gjdep-kpi-bg-1: #fff2f2;
  --gjdep-kpi-bg-2: #ffffff;
  --gjdep-kpi-icon-bg: #ffe4e6;
  --gjdep-kpi-icon-color: #dc2626;
}

.gjdep-kpi-success {
  --gjdep-kpi-bg-1: #edf9f1;
  --gjdep-kpi-bg-2: #ffffff;
  --gjdep-kpi-icon-bg: #dcfce7;
  --gjdep-kpi-icon-color: #16a34a;
}

.gjdep-bookings-section {
  display: grid;
  gap: 12px;
}

.gjdep-bookings-summary {
  align-items: stretch;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gjdep-bookings-metric {
  background: #ffffff;
  border: 1px solid #e7eaee;
  box-shadow: none;
  height: 100%;
  min-width: 0;
  overflow: hidden;
}

.gjdep-bookings-metric.is-ready {
  border-left: 1px solid #e7eaee;
}

.gjdep-bookings-metric.is-attention {
  border-left: 1px solid #e7eaee;
}

.gjdep-bookings-metric-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  justify-content: center;
  min-height: 78px;
  padding: 14px 16px;
}

.gjdep-bookings-metric-label {
  color: #697586;
  font-size: 12px;
  font-weight: 700;
}

.gjdep-bookings-metric-value {
  color: #101828;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
}

.gjdep-bookings-listing {
  background: #ffffff;
  border: 1px solid #e7eaee;
  box-shadow: none;
  overflow: hidden;
}

.gjdep-bookings-toolbar {
  align-items: center;
  border-bottom: 1px solid #eef1f5;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  padding: 18px 20px 14px;
}

.gjdep-bookings-filter {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gjdep-bookings-filter .btn {
  border-radius: 999px;
  min-height: 34px;
  padding: 0 14px;
}

.gjdep-bookings-table-wrap {
  overflow: hidden;
}

.gjdep-bookings-table {
  margin: 0;
  table-layout: fixed;
  width: 100%;
}

.gjdep-bookings-table thead th {
  border-bottom: 1px solid #eef1f5;
  color: #667085;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 12px 20px;
  text-transform: uppercase;
}

.gjdep-bookings-table thead th:nth-child(1) {
  width: 31%;
}

.gjdep-bookings-table thead th:nth-child(2) {
  width: 10%;
}

.gjdep-bookings-table thead th:nth-child(3) {
  width: 19%;
}

.gjdep-bookings-table thead th:nth-child(4) {
  width: 18%;
}

.gjdep-bookings-table thead th:nth-child(5) {
  width: 12%;
}

.gjdep-bookings-table thead th:nth-child(6) {
  width: 10%;
}

.gjdep-bookings-table tbody tr:first-child td {
  border-top: 0;
}

.gjdep-bookings-table tbody td {
  border-top: 1px solid #eef1f5;
  padding: 14px 20px;
  vertical-align: middle;
}

.gjdep-bookings-customer,
.gjdep-bookings-progress {
  min-width: 0;
}

.gjdep-bookings-customer-name {
  color: #101828;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gjdep-bookings-customer-meta {
  color: #667085;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  margin-top: 4px;
}

.gjdep-bookings-pic {
  display: inline-flex;
  justify-content: center;
}

.gjdep-bookings-pic .gj-passenger-agent-avatar {
  height: 34px;
  width: 34px;
}

.gjdep-bookings-progress,
.gjdep-bookings-mobile-progress {
  color: #475467;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.gjdep-bookings-actions {
  display: inline-flex;
  gap: 6px;
  justify-content: flex-end;
}

.gjdep-bookings-action-btn {
  align-items: center;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  padding: 0;
  width: 36px;
}

.gjdep-bookings-action-btn i {
  font-size: 16px;
}

.gjdep-bookings-detail-row td {
  background: #fbfcfe;
}

.gjdep-bookings-detail-panel {
  border-top: 1px solid #eef1f5;
  padding: 16px 20px 18px;
}

.gjdep-bookings-detail-panel.is-mobile {
  border-top: 1px solid #eef1f5;
  margin-top: 12px;
  padding: 14px 0 0;
}

.gjdep-bookings-detail-grid {
  display: grid;
  gap: 10px 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gjdep-bookings-detail-item {
  background: #ffffff;
  border: 1px solid #eef1f5;
  border-radius: 12px;
  min-width: 0;
  padding: 10px 12px;
}

.gjdep-bookings-detail-label {
  color: #667085;
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.gjdep-bookings-detail-value {
  color: #101828;
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  word-break: break-word;
}

.gjdep-bookings-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.gjdep-bookings-ready-note {
  color: #166534;
  font-size: 12px;
  font-weight: 700;
  margin-top: 12px;
}

.gjdep-bookings-mobile-list {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.gjdep-bookings-mobile-card {
  border: 1px solid #eef1f5;
  border-radius: 14px;
  box-shadow: none;
  padding: 14px;
}

.gjdep-bookings-mobile-head {
  align-items: flex-start;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.gjdep-bookings-mobile-name {
  color: #101828;
  flex: 1 1 auto;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gjdep-bookings-mobile-meta {
  align-items: center;
  color: #667085;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  margin-top: 10px;
}

.gjdep-bookings-mobile-foot {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  margin-top: 12px;
}

.gjdep-bookings-mobile-pic .gj-passenger-agent-avatar {
  height: 34px;
  width: 34px;
}

[data-gjdep-bookings-item][hidden] {
  display: none !important;
}

.gj-departure-namelist-form {
  display: grid;
  gap: 10px;
}

.gj-departure-namelist-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.gj-departure-namelist-preview-summary {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  margin-bottom: 10px;
}

.gj-departure-namelist-warn {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.gj-departure-namelist-source {
  background: #ffffff;
  border: 1px solid #eef1f5;
  border-radius: 12px;
  padding: 12px;
}

.gjdep-manifest-source-details {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 12px;
  overflow: hidden;
}

.gjdep-manifest-source-summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  justify-content: space-between;
  list-style: none;
  padding: 12px 12px;
}

.gjdep-manifest-source-summary::-webkit-details-marker {
  display: none;
}

.gjdep-manifest-source-summary-title {
  align-items: center;
  color: #202939;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  gap: 8px;
}

.gjdep-manifest-source-summary-meta {
  color: #697586;
  font-size: 12px;
  font-weight: 600;
  min-width: 0;
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gjdep-manifest-source-grid {
  border-top: 1px solid rgba(226, 232, 240, 0.85);
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  padding: 12px;
}

.gjdep-manifest-source-item {
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 10px;
  padding: 10px 12px;
}

.gjdep-manifest-source-label {
  color: #697586;
  font-size: 11px;
  font-weight: 700;
}

.gjdep-manifest-source-value {
  color: #101828;
  font-size: 13px;
  font-weight: 800;
  margin-top: 6px;
  overflow-wrap: anywhere;
}

.gjdep-manifest-source-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12px;
}

.gj-manifest-notes-list {
  display: grid;
  gap: 12px;
}

.gj-manifest-note-card {
  background: linear-gradient(180deg, #fff8db 0%, #fffcf0 100%);
  border: 1px solid #f3d58b;
  box-shadow: 0 10px 24px rgba(181, 71, 8, 0.08);
}

.gj-manifest-note-form {
  display: grid;
  gap: 10px;
}

.gj-manifest-note-card .form-control {
  background: rgba(255, 252, 240, 0.9);
  border-color: #ebc86f;
}

.gj-manifest-note-card .form-control:focus {
  background: #fffef7;
  border-color: #d5a53a;
  box-shadow: 0 0 0 0.2rem rgba(213, 165, 58, 0.14);
}

.gj-manifest-note-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.gj-manifest-note-empty-text {
  color: #6b5a2a;
  font-size: 13px;
  margin-bottom: 10px;
}

.gj-manifest-note-text {
  color: #202939;
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 8px;
  white-space: normal;
}

.gjdep-mention-link {
  align-items: center;
  background: rgba(114, 103, 239, 0.12);
  border: 1px solid rgba(114, 103, 239, 0.22);
  border-radius: 999px;
  color: #4a3fe1;
  display: inline-flex;
  font-weight: 700;
  gap: 6px;
  line-height: 1.2;
  padding: 2px 8px;
  text-decoration: none;
}

.gjdep-mention-link:hover,
.gjdep-mention-link:focus {
  background: rgba(114, 103, 239, 0.16);
  border-color: rgba(114, 103, 239, 0.3);
  color: #3a31c8;
  text-decoration: none;
}

.gj-manifest-note-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gjdep-mention-hint {
  align-items: center;
  color: #697586;
  display: inline-flex;
  font-size: 12px;
  font-weight: 600;
  margin-left: auto;
}

.gjdep-mention-menu {
  background: #ffffff;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  display: grid;
  gap: 6px;
  margin-top: 10px;
  max-height: 220px;
  overflow: auto;
  padding: 8px;
}

.gjdep-mention-item {
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 10px;
  color: #202939;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  padding: 10px 12px;
  text-align: left;
  width: 100%;
}

.gjdep-mention-item:hover,
.gjdep-mention-item:focus {
  background: #eef2ff;
  border-color: rgba(114, 103, 239, 0.28);
  color: #202939;
  outline: none;
}

.gj-manifest-note-toolbar .btn {
  border-color: rgba(213, 165, 58, 0.24);
  color: #6c5318;
}

.gj-manifest-note-toolbar .btn:hover,
.gj-manifest-note-toolbar .btn:focus {
  background: rgba(255, 245, 204, 0.9);
  border-color: rgba(213, 165, 58, 0.45);
  color: #6c5318;
}

.gj-manifest-note-meta {
  color: #8a6a2b;
  font-size: 12px;
  margin-bottom: 8px;
}

.gj-passenger-toolbar {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.gj-passenger-toolbar-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gjdep-passenger-tool-btn {
  align-items: center;
  border-radius: 10px !important;
  display: inline-flex;
  font-weight: 700;
  gap: 6px;
  min-height: 36px;
  padding: 0 14px !important;
}

.gjdep-passenger-tool-btn-export {
  background: #f2f4f7;
  border-color: #d0d5dd;
  color: #101828;
}

.gjdep-passenger-tool-btn-export:hover,
.gjdep-passenger-tool-btn-export:focus {
  background: #e4e7ec;
  border-color: #c5cbd3;
  color: #101828;
}

.gjdep-passenger-highlight > td {
  background: rgba(255, 248, 219, 0.9);
  box-shadow: inset 0 0 0 1px rgba(235, 200, 111, 0.7);
  transition: background 0.25s ease, box-shadow 0.25s ease;
}

#gjPassengerEditModal .form-control.is-invalid,
#gjPassengerEditModal .form-select.is-invalid,
#gjPassengerEditModal textarea.form-control.is-invalid {
  background: #fff5f5;
  border-color: #dc3545;
  box-shadow: 0 0 0 0.14rem rgba(220, 53, 69, 0.12);
}

.gj-passenger-agent-summary-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.gj-passenger-agent-card,
.gj-passenger-group {
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.035);
  overflow: hidden;
}

.gj-passenger-agent-card .card-body,
.gj-passenger-group .card-body {
  padding: 14px 16px;
}

.gj-passenger-agent-summary {
  margin-bottom: 8px;
}

.gj-passenger-agent-card {
  border-left: 0;
}

.gj-passenger-group {
  border-left: 0;
  margin-top: 14px;
}

.gj-passenger-agent-card-head,
.gj-passenger-group-head {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

.gj-passenger-agent-card-metrics,
.gj-passenger-group-meta {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.gj-passenger-agent-ident {
  align-items: center;
  display: inline-flex;
  gap: 12px;
  min-width: 0;
}

.gj-passenger-agent-ident-copy {
  min-width: 0;
}

.gj-passenger-agent-ident-copy .mb-1,
.gj-passenger-agent-ident-copy .mb-0 {
  line-height: 1.1;
}

.gj-passenger-agent-ident-copy h5,
.gj-passenger-agent-ident-copy h6 {
  color: #111827;
  font-weight: 700;
  letter-spacing: 0;
}

.gj-passenger-agent-avatar {
  align-items: center;
  border: 2px solid rgba(255, 255, 255, 0.92);
  border-radius: 999px;
  display: inline-flex;
  flex: 0 0 auto;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
  height: 40px;
  justify-content: center;
  overflow: hidden;
  width: 40px;
}

.gj-passenger-agent-avatar.gjdep-agent-avatar-lg {
  box-shadow: none;
  height: 54px;
  width: 54px;
}

.gj-passenger-agent-avatar.gjdep-agent-avatar-lg > span,
.gj-passenger-agent-avatar.gjdep-agent-avatar-lg .gj-passenger-agent-avatar-fallback {
  font-size: 16px;
}

.gj-passenger-agent-avatar img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.gj-passenger-agent-avatar > span,
.gj-passenger-agent-avatar-fallback {
  align-items: center;
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  height: 100%;
  justify-content: center;
  line-height: 1;
  width: 100%;
}

.gj-passenger-agent-avatar.is-image .gj-passenger-agent-avatar-fallback {
  display: none;
}

.gj-passenger-agent-avatar.is-fallback img {
  display: none !important;
}

.gj-passenger-stat-pill {
  align-items: center;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(208, 213, 221, 0.85);
  border-radius: 999px;
  color: #344054;
  display: inline-flex;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1;
  min-height: 26px;
  padding: 5px 9px;
  white-space: nowrap;
}

.gjdep-agent-summary-badge {
  background: rgba(255, 255, 255, 0.94);
  border-color: rgba(208, 213, 221, 0.92);
  font-size: 12px;
  font-weight: 800;
  min-height: 30px;
  padding: 6px 11px;
}

.gjdep-agent-summary-badge-amount {
  background: rgba(220, 252, 231, 0.82);
  border-color: rgba(134, 239, 172, 0.7);
  color: #166534;
}

.gjdep-agent-summary-badge-review {
  background: rgba(255, 237, 213, 0.9);
  border-color: rgba(253, 186, 116, 0.75);
  color: #9a3412;
}

.gjdep-agent-summary-badge-contact {
  background: rgba(219, 234, 254, 0.9);
  border-color: rgba(147, 197, 253, 0.8);
  color: #1d4ed8;
}

.gj-passenger-group-meta {
  gap: 10px;
}

.gjdep-passenger-index-cell {
  white-space: nowrap;
}

.gjdep-passenger-index-warning {
  color: #b54708;
  display: inline-flex;
  font-size: 12px;
  margin-right: 6px;
  vertical-align: middle;
}

.gjdep-passenger-index-value {
  display: inline-block;
  vertical-align: middle;
}

.gj-passenger-agent-azam {
  background: linear-gradient(180deg, #fbfefc 0%, #ffffff 100%);
}

.gj-passenger-agent-azam .card-body {
  background: transparent;
}

.gj-passenger-agent-nora {
  background: linear-gradient(180deg, #fbfdff 0%, #ffffff 100%);
}

.gj-passenger-agent-nora .card-body {
  background: transparent;
}

.gj-passenger-agent-min {
  background: linear-gradient(180deg, #fffdf9 0%, #ffffff 100%);
}

.gj-passenger-agent-min .card-body {
  background: transparent;
}

.gj-passenger-agent-azizi {
  background: linear-gradient(180deg, #fcfbff 0%, #ffffff 100%);
}

.gj-passenger-agent-azizi .card-body {
  background: transparent;
}

.gj-passenger-agent-tl {
  background: linear-gradient(180deg, #fbfcfd 0%, #ffffff 100%);
}

.gj-passenger-agent-tl .card-body {
  background: transparent;
}

.gj-passenger-agent-unassigned,
.gj-passenger-agent-default {
  background: linear-gradient(180deg, #fbfcfd 0%, #ffffff 100%);
}

.gj-passenger-agent-avatar-azam {
  background: #d1fadf;
  color: #027a48;
}

.gj-passenger-agent-avatar-nora {
  background: #d5f3ff;
  color: #0b6b8e;
}

.gj-passenger-agent-avatar-min {
  background: #ffe7c2;
  color: #b54708;
}

.gj-passenger-agent-avatar-azizi {
  background: #e9d7fe;
  color: #7a2dd0;
}

.gj-passenger-agent-avatar-tl,
.gj-passenger-agent-avatar-unassigned,
.gj-passenger-agent-avatar-default {
  background: #e4e7ec;
  color: #475467;
}

.gj-passenger-group .gj-passenger-group-head {
  border-bottom: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 16px 16px 0 0;
  margin: -14px -16px 0;
  padding: 14px 16px 12px;
}

.gj-passenger-group .gj-passenger-wide {
  background: #ffffff;
  border-radius: 0 0 16px 16px;
  margin-top: 0;
  padding-bottom: 12px;
  padding-top: 10px;
}

.gj-passenger-group.gj-passenger-agent-azam .gj-passenger-group-head {
  background: #eef8f2;
}

.gj-passenger-group.gj-passenger-agent-azam .gj-passenger-table thead th {
  background: #f7fbf8;
}

.gj-passenger-group.gj-passenger-agent-nora .gj-passenger-group-head {
  background: #eef6fb;
}

.gj-passenger-group.gj-passenger-agent-nora .gj-passenger-table thead th {
  background: #f7fbfd;
}

.gj-passenger-group.gj-passenger-agent-min .gj-passenger-group-head {
  background: #fff4e7;
}

.gj-passenger-group.gj-passenger-agent-min .gj-passenger-table thead th {
  background: #fffaf4;
}

.gj-passenger-group.gj-passenger-agent-azizi .gj-passenger-group-head {
  background: #f3efff;
}

.gj-passenger-group.gj-passenger-agent-azizi .gj-passenger-table thead th {
  background: #faf8ff;
}

.gj-passenger-group.gj-passenger-agent-tl .gj-passenger-group-head,
.gj-passenger-group.gj-passenger-agent-unassigned .gj-passenger-group-head,
.gj-passenger-group.gj-passenger-agent-default .gj-passenger-group-head {
  background: #f4f6f8;
}

.gj-passenger-group.gj-passenger-agent-tl .gj-passenger-table thead th,
.gj-passenger-group.gj-passenger-agent-unassigned .gj-passenger-table thead th,
.gj-passenger-group.gj-passenger-agent-default .gj-passenger-table thead th {
  background: #f8fafc;
}

.gj-passenger-group .gj-passenger-table thead th {
  border-bottom: 1px solid rgba(226, 232, 240, 0.95);
  color: #344054;
  font-size: 11px;
}

.gj-passenger-group .gj-passenger-table tbody tr:nth-child(even) {
  background: rgba(248, 250, 252, 0.88);
}

.gj-passenger-group .gj-passenger-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.96);
}

.gj-passenger-table-wrap {
  overflow-x: auto;
}

@media (min-width: 992px) {
  .gj-passenger-table-wrap {
    overflow-x: visible;
  }
}

.gj-passenger-wide {
  margin-left: -24px;
  margin-right: -24px;
  padding-left: 24px;
  padding-right: 24px;
}

@media (max-width: 991.98px) {
  .gj-passenger-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .gj-passenger-wide {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
}

.gj-passenger-table {
  font-size: 13.5px;
  table-layout: fixed;
  width: 100%;
}

.gj-passenger-table tbody tr {
  background: #ffffff;
  transition: background-color 0.18s ease;
}

.gj-passenger-table tbody tr:nth-child(even) {
  background: #f8fafc;
}

.gj-passenger-table tbody td:nth-child(1),
.gj-passenger-table tbody td:nth-child(6),
.gj-passenger-table tbody td:nth-child(8),
.gj-passenger-table tbody td:nth-child(9) {
  text-align: center;
  vertical-align: middle;
}

.gj-passenger-table tbody td:nth-child(7) {
  vertical-align: middle;
  text-align: right;
}

.gj-passenger-table th {
  color: #697586;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  line-height: 1.1;
}

.gj-passenger-table th,
.gj-passenger-table td {
  padding: 9px 12px;
}

.gj-passenger-table th:nth-child(1),
.gj-passenger-table th:nth-child(6),
.gj-passenger-table th:nth-child(8),
.gj-passenger-table th:nth-child(9) {
  text-align: center;
}

.gj-passenger-table th:nth-child(7) {
  text-align: right;
}

.gj-passenger-table th:nth-child(1),
.gj-passenger-table td:nth-child(1) { width: 4%; }
.gj-passenger-table th:nth-child(3),
.gj-passenger-table td:nth-child(3) { width: 17%; }
.gj-passenger-table th:nth-child(4),
.gj-passenger-table td:nth-child(4) { width: 16%; }
.gj-passenger-table th:nth-child(5),
.gj-passenger-table td:nth-child(5) { width: 12%; }
.gj-passenger-table th:nth-child(6),
.gj-passenger-table td:nth-child(6) { width: 5%; }
.gj-passenger-table th:nth-child(7),
.gj-passenger-table td:nth-child(7) { width: 11%; }
.gj-passenger-table th:nth-child(8),
.gj-passenger-table td:nth-child(8) { width: 5%; }
.gj-passenger-table th:nth-child(9),
.gj-passenger-table td:nth-child(9) { width: 10%; }

.gj-passenger-table th:nth-child(2),
.gj-passenger-table td:nth-child(2) { width: 20%; }

.gj-passenger-table td:nth-child(2) {
  white-space: normal;
  word-break: break-word;
}

.gj-passenger-table td:nth-child(3) {
  white-space: normal;
}

.gj-passenger-table td:not(:nth-child(2)):not(:nth-child(3)):not(:nth-child(9)) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gj-passenger-table td:nth-child(1) {
  overflow: visible;
  text-overflow: clip;
}

.gj-passenger-action-cell {
  position: relative;
}

.gjdep-passenger-row-warning {
  align-items: center;
  background: #fef3c7;
  border: 1px solid #fcd34d;
  border-radius: 7px;
  color: #92400e;
  display: inline-flex;
  height: 18px;
  justify-content: center;
  position: absolute;
  right: 8px;
  bottom: 8px;
  width: 18px;
}

.gjdep-passenger-row-warning i {
  font-size: 13px;
  line-height: 1;
}

.gj-passenger-passport {
  display: grid;
  gap: 2px;
  max-width: 100%;
}

.gj-passenger-passport-no,
.gj-passenger-passport-exp {
  overflow: hidden;
  text-overflow: ellipsis;
}

.gj-passenger-passport-no {
  font-weight: 800;
  line-height: 1.1;
}

.gj-passenger-passport-exp {
  color: #697586;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 2px;
  white-space: nowrap;
}

.gj-passenger-passport-exp.is-expired {
  color: #b42318;
}

.gj-passenger-contact-cell {
  text-align: center;
}

.gj-passenger-wa-btn {
  align-items: center;
  border-radius: 8px !important;
  display: inline-flex;
  height: 32px;
  justify-content: center;
  padding: 0 !important;
  width: 32px;
}

.gj-passenger-wa-disabled {
  opacity: 0.35;
  pointer-events: none;
}

.gj-passenger-name-flag {
  color: #b54708;
  display: inline-flex;
  font-size: 12px;
  margin-left: 6px;
  vertical-align: middle;
}

.gj-passenger-row-cancelled {
  background: #f2f4f7 !important;
  color: #667085;
}

.gj-passenger-row-refundreq {
  background: #fffaf0 !important;
}

.gj-passenger-row-refunded {
  background: #f5f3ff !important;
}

.gj-passenger-action-cell {
  white-space: nowrap;
  overflow: visible;
}

.gj-passenger-actions {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  justify-content: center;
}

.gj-passenger-action-btn {
  align-items: center;
  border-radius: 8px !important;
  display: inline-flex;
  height: 32px;
  justify-content: center;
  padding: 0 !important;
  width: 32px;
}

.gjdep-wa-btn,
.gjdep-action-btn {
  align-items: center;
  display: inline-flex;
  justify-content: center;
}

.gjdep-action-icon {
  color: currentColor;
  display: inline-block;
  height: 15px;
  stroke-width: 2.15;
  vertical-align: middle;
  width: 15px;
}

.gjdep-passenger-row-warning .gjdep-action-icon {
  height: 13px;
  width: 13px;
}

.gj-passenger-badge-warn-passport {
  background: #f4f3ff;
  border-color: #d9d6fe;
  color: #5925dc;
}

.gj-passenger-badge-warn-contact {
  background: #eff8ff;
  border-color: #b2ddff;
  color: #175cd3;
}

.gj-passenger-badge-warn-dob {
  background: #fff1f3;
  border-color: #fecdd6;
  color: #c01048;
}

.gj-passenger-badge-warn-price {
  background: #fff1f2;
  border-color: #fecdd3;
  color: #9f1239;
}

.gj-passenger-badge-warn-date {
  background: #fffaeb;
  border-color: #fedf89;
  color: #b54708;
}

.gj-passenger-badge-warn-other {
  background: #f8fafc;
  border-color: #e4e7ec;
  color: #475467;
}

.gj-passenger-table .badge {
  font-size: 11px;
  font-weight: 700;
  padding: 5px 8px;
}

@media (max-width: 1200px) {
  .gj-departure-ops-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .gj-departure-namelist-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .gj-departure-breakdown-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .gj-departure-ops-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gj-departure-namelist-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gj-departure-breakdown-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gj-departure-payments-grid {
    grid-template-columns: 1fr;
  }
}

.gj-departure-detail-section + .gj-departure-detail-section {
  margin-top: 16px;
}

.gj-departure-detail-notes {
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  padding: 12px;
}

.gj-departure-payments-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gj-departure-table-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.gj-departure-table-action-btn {
  align-items: center;
  border-radius: 10px !important;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  padding: 0 !important;
  width: 34px;
}

.gj-departure-table-action-btn i {
  font-size: 16px;
  line-height: 1;
}

.gj-departure-table-metric {
  font-weight: 700;
}

.gj-departure-meta {
  color: #697586;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  margin-top: 6px;
}

.gj-departure-tags {
  margin-top: 12px;
}

.gj-departure-tag-title {
  color: #202939;
  font-size: 13px;
  font-weight: 700;
}

.gj-departure-tag-sub {
  color: #697586;
  font-size: 12px;
  margin-top: 2px;
}

.gj-departure-seat {
  display: grid;
  gap: 10px;
  margin-top: 0;
  position: relative;
  z-index: 2;
}

.gj-departure-op-list {
  display: grid;
  gap: 10px;
}

.gj-departure-op-item {
  align-items: flex-start;
  border-bottom: 1px solid #eef1f5;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding-bottom: 11px;
}

.gj-departure-op-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.gj-departure-op-label {
  align-items: center;
  color: #697586;
  display: inline-flex;
  font-size: 12px;
  font-weight: 600;
  gap: 6px;
  line-height: 1.35;
}

.gj-departure-op-value {
  color: #202939;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  max-width: 180px;
  overflow-wrap: anywhere;
  text-align: right;
}

.gj-departure-op-item:nth-child(3) .gj-departure-op-value,
.gj-departure-op-item:nth-child(4) .gj-departure-op-value,
.gj-departure-op-item:nth-child(5) .gj-departure-op-value {
  color: #101828;
  font-size: 14px;
}

.gj-departure-inline-badge {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  justify-content: center;
  min-height: 28px;
  padding: 5px 10px;
  white-space: nowrap;
}

.gj-departure-inline-badge-success {
  background: #ecfdf3;
  border-color: #b7ebc6;
  color: #027a48;
}

.gj-departure-inline-badge-danger {
  background: #fff1f2;
  border-color: #fecdd3;
  color: #b42318;
}

.gj-departure-inline-badge-neutral {
  background: #f5f7fa;
  border-color: #dfe3e8;
  color: #475467;
}

.gj-departure-inline-badge-muted {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}

.gj-departure-seat-stack {
  display: grid;
  gap: 2px;
}

.gj-departure-seat-main {
  color: #202939;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
}

.gj-departure-seat-sub {
  color: #697586;
  font-size: 12px;
  font-weight: 600;
}

.gj-departure-seat-row {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.gj-departure-seat-label {
  color: #202939;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.gj-departure-seat-value {
  color: #697586;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-align: right;
}

.gj-departure-seat-foot {
  display: flex;
  justify-content: flex-end;
  color: #697586;
  font-size: 12px;
  font-weight: 700;
}

.gj-departure-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: 8px;
  justify-content: flex-end;
  position: relative;
  z-index: 3;
}

.gj-departure-actions .btn {
  align-items: center;
  border-radius: 10px;
  display: inline-flex;
  gap: 6px;
  justify-content: center;
  min-width: 92px;
  position: relative;
  z-index: 3;
}

.gj-departure-addon-trigger {
  min-width: 38px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.gj-departure-addon-trigger .gj-departure-action-icon {
  margin-right: 0;
}

.gj-departure-card-footer {
  align-items: center;
  border-top: 1px solid #eef1f5;
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  justify-content: space-between;
  margin-top: 2px;
  padding-top: 14px;
  position: relative;
  z-index: 3;
}

.gj-departure-leader {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  gap: 10px;
  min-width: 0;
}

.gj-departure-leader-copy {
  display: grid;
  flex: 1 1 auto;
  gap: 2px;
  min-width: 0;
}

.gj-departure-leader-name {
  color: #202939;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gj-departure-leader-role {
  color: #697586;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.gj-departure-leader-placeholder {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 999px;
  color: #98a2b3;
  display: inline-flex;
  flex: 0 0 auto;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.gj-departure-leader.is-empty .gj-departure-leader-name {
  color: #667085;
  font-weight: 700;
}

.gj-passenger-agent-avatar.gjdep-agent-avatar-sm {
  border-width: 1px;
  box-shadow: none;
  height: 36px;
  width: 36px;
}

.gj-passenger-agent-avatar.gjdep-agent-avatar-sm > span,
.gj-passenger-agent-avatar.gjdep-agent-avatar-sm .gj-passenger-agent-avatar-fallback {
  font-size: 12px;
}

.gj-departure-icon {
  font-size: 14px;
  line-height: 1;
}

.gj-departure-action-icon {
  font-size: 14px;
  line-height: 1;
  margin-right: 6px;
}

.gj-departure-progress {
  width: 0%;
}

.gj-departure-progress-track {
  background: #eef2f7;
  border-radius: 999px;
  height: 12px;
  overflow: hidden;
}

.gj-departure-progress-track > .gj-departure-progress {
  border-radius: 999px;
  display: block;
  height: 100%;
}

.gj-departure-progress-track.is-low > .gj-departure-progress {
  background: #d0d5dd;
}

.gj-departure-progress-track.is-rising > .gj-departure-progress {
  background: #4f7cff;
}

.gj-departure-progress-track.is-mid > .gj-departure-progress {
  background: #f59e0b;
}

.gj-departure-progress-track.is-high > .gj-departure-progress {
  background: #22c55e;
}

.gj-departure-progress-track.is-peak > .gj-departure-progress {
  background: #16a34a;
}

.gj-departure-card-link {
  border-radius: 14px;
}

.gj-departure-panel {
  border: 1px solid #e7eaee;
  border-radius: 14px;
  overflow: hidden;
}

.gj-departure-panel-compact {
  border-color: #e9edf3;
  box-shadow: 0 8px 20px rgba(16, 24, 40, 0.04);
}

.gj-departure-panel-summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
  min-height: 54px;
  padding: 13px 18px;
}

.gj-departure-panel-summary::-webkit-details-marker {
  display: none;
}

.gj-departure-panel-summary span:first-child {
  align-items: center;
  color: #202939;
  display: inline-flex;
  gap: 8px;
  font-weight: 700;
}

.gj-departure-panel-hint {
  color: #697586;
  font-size: 12px;
  font-weight: 600;
}

.gj-departure-advanced {
  display: grid;
  gap: 10px;
}

.gj-departure-progress-0 { width: 0%; }
.gj-departure-progress-10 { width: 10%; }
.gj-departure-progress-20 { width: 20%; }
.gj-departure-progress-30 { width: 30%; }
.gj-departure-progress-40 { width: 40%; }
.gj-departure-progress-50 { width: 50%; }
.gj-departure-progress-60 { width: 60%; }
.gj-departure-progress-70 { width: 70%; }
.gj-departure-progress-80 { width: 80%; }
.gj-departure-progress-90 { width: 90%; }
.gj-departure-progress-100 { width: 100%; }

.gj-v2-table-tools {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gj-v2-form-card .card-body,
.gj-v2-table-card .card-body {
  padding: 20px;
}

.gj-v2-activity-log {
  display: grid;
  gap: 12px;
}

.gj-v2-activity-item {
  border-left: 3px solid #7267ef;
  padding-left: 12px;
}

.gj-v2-activity-meta {
  color: #697586;
  font-size: 12px;
  margin-top: 4px;
}

.gjdep-activity-head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 16px;
}

.gjdep-activity-feed {
  display: grid;
  gap: 14px;
}

.gjdep-activity-item {
  background: #fff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  display: grid;
  gap: 14px;
  grid-template-columns: 44px minmax(0, 1fr);
  padding: 16px 18px;
}

.gjdep-activity-icon {
  align-items: center;
  background: linear-gradient(135deg, rgba(114, 103, 239, 0.12), rgba(0, 123, 255, 0.08));
  border-radius: 14px;
  color: #7267ef;
  display: inline-flex;
  font-size: 20px;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.gjdep-activity-body {
  min-width: 0;
}

.gjdep-activity-top {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 6px;
}

.gjdep-activity-title {
  color: #1f2a44;
  font-size: 15px;
  font-weight: 700;
}

.gjdep-activity-target {
  color: #0f172a;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
}

.gjdep-activity-change {
  align-items: center;
  color: #475467;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  line-height: 1.5;
  margin-bottom: 8px;
}

.gjdep-activity-field {
  color: #344054;
  font-weight: 700;
}

.gjdep-activity-old {
  color: #b42318;
}

.gjdep-activity-new {
  color: #027a48;
  font-weight: 600;
}

.gjdep-activity-note {
  color: #475467;
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 8px;
}

.gjdep-activity-meta {
  color: #697586;
  font-size: 12px;
}

.gjdep-activity-empty {
  align-items: center;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.95), rgba(255, 255, 255, 0.95));
  border: 1px dashed rgba(203, 213, 225, 0.9);
  border-radius: 18px;
  display: grid;
  gap: 8px;
  justify-items: center;
  padding: 32px 20px;
  text-align: center;
}

.gjdep-activity-empty-icon {
  align-items: center;
  background: rgba(114, 103, 239, 0.08);
  border-radius: 999px;
  color: #7267ef;
  display: inline-flex;
  font-size: 22px;
  height: 52px;
  justify-content: center;
  width: 52px;
}

.gjdep-activity-empty-title {
  color: #1f2a44;
  font-size: 15px;
  font-weight: 700;
}

.gjdep-activity-empty-note {
  color: #697586;
  font-size: 13px;
  max-width: 520px;
}

.gjdep-namelist-preview-page {
  background: #f5f7fb;
  color: #111827;
  font-family: Arial, Calibri, sans-serif;
  margin: 0;
}

.gjdep-namelist-preview-shell {
  margin: 0 auto;
  max-width: 1120px;
  padding: 20px 18px 28px;
}

.gjdep-namelist-preview-toolbar {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.gjdep-namelist-preview-caption {
  color: #697586;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.gjdep-namelist-preview-title {
  color: #101828;
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 4px;
}

.gjdep-namelist-preview-note {
  color: #667085;
  font-size: 12px;
}

.gjdep-namelist-preview-actions {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.gjdep-preview-action-btn {
  align-items: center;
  border-radius: 10px !important;
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 7px;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px !important;
  white-space: nowrap;
}

.gjdep-preview-action-btn i {
  font-size: 15px;
  line-height: 1;
}

.gjdep-preview-action-btn-back {
  border-color: #d0d5dd;
  color: #344054;
}

.gjdep-preview-action-btn-csv {
  border-color: rgba(54, 179, 126, 0.18);
}

.gjdep-preview-action-btn-excel {
  border-color: rgba(114, 103, 239, 0.18);
}

.gjdep-preview-action-btn-pdf {
  border-color: rgba(255, 82, 82, 0.18);
}

.gjdep-preview-action-btn-print {
  box-shadow: 0 8px 16px rgba(114, 103, 239, 0.18);
}

@media (max-width: 767.98px) {
  .gjdep-namelist-preview-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .gjdep-namelist-preview-actions {
    justify-content: flex-start;
  }
}

.gjdep-namelist-sheet {
  background: #ffffff;
  border: 1px solid rgba(208, 213, 221, 0.9);
  border-radius: 12px;
  box-shadow: 0 10px 22px rgba(16, 24, 40, 0.07);
  min-height: 180mm;
  padding: 10mm 10mm 8mm;
}

.gjdep-namelist-meta {
  display: grid;
  gap: 4px;
  margin-bottom: 10px;
}

.gjdep-namelist-meta-row {
  align-items: baseline;
  display: grid;
  gap: 8px;
  grid-template-columns: 124px minmax(0, 1fr);
}

.gjdep-namelist-meta-label {
  color: #111827;
  font-size: 12px;
  font-weight: 700;
}

.gjdep-namelist-meta-value {
  color: #111827;
  font-size: 12px;
  font-weight: 600;
}

.gjdep-namelist-table-wrap {
  overflow-x: visible;
}

.gjdep-namelist-table {
  border-collapse: collapse;
  font-family: Arial, Calibri, sans-serif;
  min-width: 0;
  table-layout: fixed;
  width: 100%;
}

.gjdep-namelist-col-no {
  width: 4.5%;
}

.gjdep-namelist-col-name {
  width: 23%;
}

.gjdep-namelist-col-passport {
  width: 10%;
}

.gjdep-namelist-col-ic {
  width: 11%;
}

.gjdep-namelist-col-passport-expiry {
  width: 12%;
}

.gjdep-namelist-col-dob {
  width: 10.5%;
}

.gjdep-namelist-col-age {
  width: 4.5%;
}

.gjdep-namelist-col-agent {
  width: 8%;
}

.gjdep-namelist-col-price {
  width: 8%;
}

.gjdep-namelist-col-contact {
  width: 8.5%;
}

.gjdep-namelist-table th,
.gjdep-namelist-table td {
  border: 1px solid #4b5563;
  color: #111827;
  font-size: 10px;
  line-height: 1.2;
  padding: 4px 5px;
  text-align: center;
  vertical-align: middle;
}

.gjdep-namelist-table th {
  background: #ffffff;
  font-weight: 600;
  text-align: center;
  white-space: normal;
}

.gjdep-namelist-table td {
  font-weight: 400;
  word-break: break-word;
}

.gjdep-namelist-cell-passport,
.gjdep-namelist-cell-ic,
.gjdep-namelist-cell-contact,
.gjdep-namelist-cell-price {
  white-space: nowrap;
  word-break: normal;
}

.gjdep-namelist-cell-contact,
.gjdep-namelist-cell-passport,
.gjdep-namelist-cell-ic,
.gjdep-namelist-cell-price,
.gjdep-namelist-cell-agent,
.gjdep-namelist-cell-age,
.gjdep-namelist-cell-dob,
.gjdep-namelist-cell-passport-expiry,
.gjdep-namelist-cell-name,
.gjdep-namelist-cell-no {
  text-align: center;
}

.gjdep-namelist-section-row td {
  background: #eef2f6;
  color: #344054;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  text-transform: uppercase;
}

.gjdep-namelist-agent-cell {
  font-weight: 600 !important;
  text-align: center;
}

.gjdep-namelist-agent-azam td,
.gjdep-namelist-agent-azam .gjdep-namelist-agent-cell {
  background: #ddf7d7;
}

.gjdep-namelist-agent-nora td,
.gjdep-namelist-agent-nora .gjdep-namelist-agent-cell {
  background: #d9f6fb;
}

.gjdep-namelist-agent-min td,
.gjdep-namelist-agent-min .gjdep-namelist-agent-cell {
  background: #ffefcc;
}

.gjdep-namelist-agent-azizi td,
.gjdep-namelist-agent-azizi .gjdep-namelist-agent-cell {
  background: #ffd9fb;
}

.gjdep-namelist-agent-tl td,
.gjdep-namelist-agent-tl .gjdep-namelist-agent-cell {
  background: #ffffff;
}

.gjdep-namelist-agent-default td,
.gjdep-namelist-agent-default .gjdep-namelist-agent-cell {
  background: #f8fafc;
}

.no-print {
  display: block;
}

@page {
  size: A4 landscape;
  margin: 8mm;
}

@media print {
  .gjdep-namelist-preview-page {
    background: #ffffff;
    font-family: Arial, Calibri, sans-serif;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .gjdep-namelist-preview-shell {
    max-width: none;
    padding: 0;
  }

  .gjdep-namelist-preview-toolbar {
    display: none !important;
  }

  .no-print {
    display: none !important;
  }

  .gjdep-namelist-sheet {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    min-height: auto;
  }

  .gjdep-namelist-table-wrap {
    overflow: visible;
  }

  .gjdep-namelist-table {
    min-width: 0;
    width: 100%;
  }
}

.gj-v2-inline-stack {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gj-v2-caption {
  color: #697586;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gj-v2-hero {
  align-items: flex-start;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
}

.gj-v2-hero .card-body {
  padding: 24px;
}

@media (max-width: 1200px) {
  .gj-v2-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gj-v2-grid-2,
  .gj-v2-hero {
    grid-template-columns: 1fr;
  }

  .gj-v2-table-tools {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gj-departure-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gj-departure-payments-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .gj-departure-viewbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .gj-departure-section-head {
    width: 100%;
  }

  .gj-departure-view-switch {
    width: 100%;
  }

  .gj-departure-view-switch .btn {
    flex: 1 1 0;
    justify-content: center;
  }

  .gj-departure-modal-header,
  .gj-departure-modal-body,
  .gj-departure-modal-footer {
    padding-left: 16px;
    padding-right: 16px;
  }

  .gj-departure-month-header {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .gj-departure-month-title {
    font-size: 24px;
  }

  .gj-v2-metrics,
  .gj-v2-grid-3,
  .gj-v2-table-tools {
    grid-template-columns: 1fr;
  }

  .gj-v2-list-row {
    grid-template-columns: 1fr;
  }

  .gj-departure-grid {
    grid-template-columns: 1fr;
  }
}

.gj-dashboard .gj-poster-card,
.gj-dashboard .gj-mobile-poster-card {
  border: 1px solid #e7eaee;
  border-radius: 8px;
  overflow: hidden;
  scroll-snap-align: start;
}

.gj-dashboard .gj-poster-card img,
.gj-dashboard .gj-mobile-poster-card img {
  display: block;
  height: 200px;
  object-fit: cover;
  width: 100%;
}

.gj-dashboard .meta,
.gj-dashboard .m-poster-meta {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
}

.gj-dashboard .gj-poster-title {
  color: #202939;
  font-size: 12px;
  font-weight: 700;
}

.gj-dashboard .gj-poster-subtitle {
  color: #697586;
  font-size: 12px;
}

.gj-dashboard .gj-local-time {
  display: none;
}

.gj-dashboard .desktop-only { display: block; }
.gj-dashboard .mobile-only { display: none; }

.gj-settings {
  display: grid;
  gap: 16px;
}

.gj-settings .gj-settings-avatar,
.gj-settings .gj-user-photo {
  align-items: center;
  background: #f5f7fb;
  border: 1px solid #e7eaee;
  border-radius: 50%;
  color: #697586;
  display: inline-flex;
  font-size: 12px;
  height: 88px;
  justify-content: center;
  overflow: hidden;
  text-align: center;
  width: 88px;
}

.gj-settings .gj-user-photo {
  height: 42px;
  width: 42px;
}

.gj-settings .gj-settings-avatar img,
.gj-settings .gj-user-photo img,
.gj-settings .gj-preview-img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.gj-settings .gj-brand-preview {
  align-items: center;
  background: #fff;
  border: 1px solid #e7eaee;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  min-height: 132px;
  padding: 16px;
}

.gj-settings .gj-brand-preview img {
  display: block;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.gj-settings .edit-panel {
  display: none;
}

.gj-settings .edit-panel.open {
  display: table-row;
}

.gj-settings .gj-user-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.gj-home-editor {
  display: grid;
  gap: 16px;
  padding-bottom: 86px;
}

.gj-home-editor .gj-home-section-grid {
  display: grid;
  gap: 16px;
}

.gj-home-editor .gj-home-hero-preview {
  background: #1f3b68;
  border-radius: 8px;
  color: #fff;
  min-height: 220px;
  overflow: hidden;
  position: relative;
}

.gj-home-editor .gj-home-hero-bg {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.gj-home-editor .gj-home-hero-overlay {
  background: rgba(20, 35, 60, 0.44);
  display: flex;
  flex-direction: column;
  inset: 0;
  justify-content: space-between;
  padding: 18px;
  position: absolute;
}

.gj-home-editor .gj-home-hero-top {
  align-items: center;
  display: flex;
  font-size: 12px;
  justify-content: space-between;
  opacity: 0.9;
}

.gj-home-editor .gj-home-logo-frame {
  align-items: center;
  display: inline-flex;
  height: 75px;
  justify-content: center;
  width: 240px;
}

.gj-home-editor .gj-home-logo-frame img,
.gj-home-editor .gj-home-logo-preview {
  height: 75px;
  object-fit: contain;
  width: 240px;
}

.gj-home-editor .gj-home-decorative-circle {
  background: #e6cbd1;
  border-radius: 50%;
  display: inline-block;
  height: 68px;
  width: 68px;
}

.gj-home-editor .gj-home-hero-copy {
  text-align: center;
}

.gj-home-editor .gj-home-hero-greeting {
  font-family: "Pacifico", cursive;
  font-size: 26px;
  line-height: 1;
  margin-bottom: 6px;
}

.gj-home-editor .gj-home-hero-title {
  font-size: 16px;
  opacity: 0.95;
}

.gj-home-editor .gj-home-hero-subtitle {
  font-size: 12px;
  margin-top: 4px;
  opacity: 0.85;
}

.gj-home-editor .gj-home-image-preview {
  background: #fff;
  border: 1px solid #e7eaee;
  border-radius: 8px;
  display: inline-flex;
  margin-top: 8px;
  overflow: hidden;
}

.gj-home-editor .gj-home-bg-preview {
  max-width: 480px;
  width: 100%;
}

.gj-home-editor .gj-home-bg-preview img {
  height: 120px;
  object-fit: cover;
  width: 100%;
}

.gj-home-editor .gj-home-package-preview {
  background: #697586;
  border-radius: 8px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 12px;
  min-height: 96px;
  padding: 14px;
}

.gj-home-editor .gj-home-package-preview.is-alt {
  background: #9aa4b2;
}

.gj-home-editor .gj-home-package-preview.is-dark {
  background: #364152;
}

.gj-home-editor .gj-home-package-subtitle,
.gj-home-editor .gj-home-package-date {
  font-size: 12px;
  opacity: 0.9;
}

.gj-home-editor .gj-home-thumb {
  border: 1px solid #e7eaee;
  border-radius: 8px;
  height: 48px;
  object-fit: cover;
  width: 68px;
}

.gj-home-editor .gj-home-team-avatar {
  background: #eef2f6;
  border-radius: 8px;
  height: 42px;
  object-fit: cover;
  width: 42px;
}

.gj-home-editor .gj-home-seo-preview {
  border: 1px solid #e7eaee;
  border-radius: 8px;
  overflow: hidden;
}

.gj-home-editor .gj-home-seo-image {
  align-items: center;
  background: #f5f7fb;
  color: #697586;
  display: flex;
  height: 160px;
  justify-content: center;
  object-fit: cover;
  width: 100%;
}

.gj-home-editor img.gj-home-seo-image {
  display: block;
  max-height: 240px;
}

.gj-home-editor .gj-home-seo-url {
  color: #1a73e8;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gj-home-editor .gj-home-sticky-actions {
  background: #fff;
  border: 1px solid #e7eaee;
  border-radius: 8px;
  bottom: 18px;
  box-shadow: 0 8px 20px rgba(27, 46, 94, 0.12);
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding: 10px;
  position: fixed;
  right: 24px;
  z-index: 999;
}

.gj-package-editor {
  display: grid;
  gap: 18px;
}

.gj-package-editor .gj-package-header {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
}

.gj-package-editor .gj-package-page-title {
  color: #7267ef;
}

.gj-package-editor .gj-package-header-actions {
  align-items: center;
}

.gj-package-editor .gj-package-header-btn {
  align-items: center;
  border-radius: 12px !important;
  box-shadow: none !important;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  min-height: 44px;
  padding: 0 16px;
}

.gj-package-editor .gj-package-header-btn-primary {
  background: #7267ef;
  border-color: #7267ef;
}

.gj-package-editor .gj-package-header-btn-primary:hover,
.gj-package-editor .gj-package-header-btn-primary:focus {
  background: #5e55d6;
  border-color: #5e55d6;
}

.gj-package-editor .gj-package-kpi-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gj-package-editor .gj-package-kpi-card {
  min-height: 132px;
}

.gj-package-editor .gj-package-kpi-body {
  align-items: flex-start;
  display: flex;
  gap: 14px;
}

.gj-package-editor .gj-package-kpi-icon {
  align-items: center;
  border-radius: 14px;
  display: inline-flex;
  font-size: 24px;
  height: 52px;
  justify-content: center;
  width: 52px;
}

.gj-package-editor .gj-package-kpi-content {
  display: grid;
  gap: 4px;
}

.gj-package-editor .gj-package-kpi-primary {
  background: linear-gradient(135deg, #f4f0ff 0%, #ffffff 100%);
}

.gj-package-editor .gj-package-kpi-primary .gj-package-kpi-icon {
  background: #ebe4ff;
  color: #6d5ae6;
}

.gj-package-editor .gj-package-kpi-success {
  background: linear-gradient(135deg, #eefbf3 0%, #ffffff 100%);
}

.gj-package-editor .gj-package-kpi-success .gj-package-kpi-icon {
  background: #dbf9e7;
  color: #12b76a;
}

.gj-package-editor .gj-package-kpi-warning {
  background: linear-gradient(135deg, #fff8eb 0%, #ffffff 100%);
}

.gj-package-editor .gj-package-kpi-warning .gj-package-kpi-icon {
  background: #ffe8c2;
  color: #f79009;
}

.gj-package-editor .gj-package-kpi-muted {
  background: linear-gradient(135deg, #f7f8fb 0%, #ffffff 100%);
}

.gj-package-editor .gj-package-kpi-muted .gj-package-kpi-icon {
  background: #eef1f5;
  color: #667085;
}

.gj-package-editor .gj-package-filter-card .card-body {
  padding: 20px 22px;
}

.gj-package-editor .gj-package-filter-form .form-label {
  color: #697586;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 6px;
}

.gj-package-editor .gj-package-filter-form .form-control,
.gj-package-editor .gj-package-filter-form .form-select {
  min-height: 44px;
}

.gj-package-editor .gj-package-search-btn {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  justify-content: center;
  min-height: 44px;
}

.gj-package-editor .gj-package-table-card .card-header,
.gj-package-editor .gj-package-table-footer {
  padding-left: 22px;
  padding-right: 22px;
}

.gj-package-editor .gj-package-table > :not(caption) > * > * {
  padding: 14px 16px;
  vertical-align: middle;
}

.gj-package-editor .gj-package-table thead th {
  background: #f8fafc;
  border-bottom: 1px solid #e7eaee;
  color: #697586;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gj-package-editor .gj-package-table tbody tr:hover {
  background: #fbfcfe;
}

.gj-package-editor .gj-package-table tbody td {
  border-bottom: 1px solid #eef1f5;
}

.gj-package-editor .gj-package-thumb {
  border: 1px solid #e7eaee;
  border-radius: 12px;
  height: 56px;
  object-fit: cover;
  width: 56px;
}

.gj-package-editor .gj-package-thumb-placeholder {
  align-items: center;
  background: #f8fafc;
  color: #98a2b3;
  display: inline-flex;
  justify-content: center;
}

.gj-package-editor .gj-package-preview {
  border: 1px solid #e7eaee;
  border-radius: 12px;
  height: 96px;
  object-fit: cover;
  width: 96px;
}

.gj-package-editor .gj-package-name {
  color: #202939;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.gj-package-editor .gj-package-name:hover {
  color: #7267ef;
}

.gj-package-editor .gj-package-meta {
  color: #697586;
  font-size: 12px;
  line-height: 1.5;
}

.gj-package-editor .gj-package-price {
  font-weight: 700;
}

.gj-package-editor .gj-package-updated {
  color: #475467;
  font-size: 12px;
}

.gj-package-editor .gj-package-status-badge {
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  padding: 6px 10px;
}

.gj-package-editor .gj-package-status-active {
  background: #ecfdf3;
  border-color: #b7ebc6;
  color: #027a48;
}

.gj-package-editor .gj-package-status-draft {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}

.gj-package-editor .gj-package-status-inactive {
  background: #f5f7fa;
  border-color: #dfe3e8;
  color: #475467;
}

.gj-package-editor .gj-package-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
}

.gj-package-editor .gj-package-action-btn,
.gj-package-editor .gj-package-pagination-btn {
  align-items: center;
  border-radius: 10px !important;
  box-shadow: none !important;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  height: 36px;
  justify-content: center;
  min-width: 36px;
  padding: 0 10px;
}

.gj-package-editor .gj-package-action-btn i {
  font-size: 16px;
}

.gj-package-editor .gj-package-table-footer {
  border-top: 1px solid #eef1f5;
}

.gj-package-editor .gj-package-modal {
  align-items: center;
  background: rgba(15, 23, 42, 0.4);
  display: none;
  inset: 0;
  justify-content: center;
  padding: 8px;
  position: fixed;
  z-index: 1050;
}

.gj-package-editor .gj-package-modal.open {
  display: flex;
}

.gj-package-editor .gj-package-modal-header {
  align-items: flex-start;
  border-bottom: 1px solid #eef1f5;
  display: flex;
  justify-content: space-between;
  padding: 18px 22px;
}

.gj-package-editor .gj-package-modal-subtitle {
  color: #697586;
  font-size: 13px;
  margin-top: 4px;
}

.gj-package-editor .gj-package-modal-close {
  align-items: center;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  min-width: 36px;
  padding: 0;
}

.gj-package-editor .gj-package-modal-dialog {
  background: #fff;
  border: 1px solid #e7eaee;
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(27, 46, 94, 0.12);
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  min-height: 0;
  overflow: hidden;
  width: min(920px, calc(100vw - 24px));
}

.gj-package-editor #pkgForm {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.gj-package-editor .gj-package-modal-body {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 22px;
}

.gj-package-editor .gj-package-modal-body .form-label {
  color: #697586;
  font-size: 12px;
  font-weight: 700;
}

.gj-package-editor .gj-package-modal-body .form-control,
.gj-package-editor .gj-package-modal-body .form-select {
  min-height: 44px;
}

.gj-package-editor .gj-package-modal-footer {
  background: #fff;
  border-top: 1px solid #e7eaee;
  bottom: 0;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding: 18px 22px;
  position: sticky;
  z-index: 1;
}

.gj-package-editor .gj-package-save-btn {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

@media (max-width: 991.98px) {
  .gj-package-editor .gj-package-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gj-package-editor .gj-package-search-btn {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .gj-package-editor .gj-package-header {
    align-items: stretch;
  }

  .gj-package-editor .gj-package-header-actions {
    width: 100%;
  }

  .gj-package-editor .gj-package-header-btn {
    justify-content: center;
    width: 100%;
  }

  .gj-package-editor .gj-package-kpi-grid {
    grid-template-columns: 1fr;
  }

  .gj-package-editor .gj-package-modal-dialog {
    border-radius: 14px;
    width: min(100%, calc(100vw - 16px));
  }

  .gj-package-editor .gj-package-modal-header,
  .gj-package-editor .gj-package-modal-body,
  .gj-package-editor .gj-package-modal-footer,
  .gj-package-editor .gj-package-filter-card .card-body,
  .gj-package-editor .gj-package-table-card .card-header,
  .gj-package-editor .gj-package-table-footer {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.gj-event-backend {
  display: grid;
  gap: 18px;
}

.gj-event-backend .card,
.gj-event-backend .gj-event-card,
.gj-event-backend .gj-event-kpi {
  border: 1px solid #e6eaf2;
  border-radius: 18px;
  box-shadow: none;
}

.gj-event-backend .gj-event-alert {
  align-items: center;
  border: 1px solid #d5f5df;
  border-radius: 14px;
  display: flex;
  gap: 10px;
  margin-bottom: 0;
  padding: 14px 16px;
}

.gj-event-backend .gj-event-alert i {
  font-size: 18px;
}

.gj-event-backend .gj-event-hero {
  background:
    radial-gradient(circle at top right, rgba(114, 103, 239, 0.14), transparent 17rem),
    linear-gradient(180deg, #ffffff 0%, #f9faff 100%);
}

.gj-event-backend .gj-event-hero .card-body {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 22px 24px;
}

.gj-event-backend .gj-event-hero-main {
  display: grid;
  gap: 14px;
}

.gj-event-backend .gj-event-hero-badge {
  align-items: center;
  background: rgba(114, 103, 239, 0.1);
  border: 1px solid rgba(114, 103, 239, 0.14);
  border-radius: 999px;
  color: #6b4bf3;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: 0.03em;
  padding: 7px 12px;
  text-transform: uppercase;
}

.gj-event-backend .gj-event-hero-badge i,
.gj-event-backend .gj-event-hero-pill i {
  align-items: center;
  display: inline-flex;
  font-size: 15px;
  justify-content: center;
  line-height: 1;
}

.gj-event-backend .gj-event-hero-copy {
  display: grid;
  gap: 4px;
}

.gj-event-backend .gj-event-hero-title {
  color: #202939;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0;
}

.gj-event-backend .gj-event-hero-subtitle {
  color: #667085;
  font-size: 14px;
  margin: 0;
}

.gj-event-backend .gj-event-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.gj-event-backend .gj-event-hero-pill {
  align-items: center;
  background: #ffffff;
  border: 1px solid #e7eaf3;
  border-radius: 999px;
  color: #475467;
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
  padding: 10px 14px;
}

.gj-event-backend .gj-event-hero-pill i {
  color: #7267ef;
}

.gj-event-backend .gj-event-kpi-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gj-event-backend .gj-event-kpi {
  --gj-event-kpi-bg-1: #ffffff;
  --gj-event-kpi-bg-2: #f8faff;
  --gj-event-kpi-icon-bg: #eef2ff;
  --gj-event-kpi-icon-color: #7267ef;
  background: linear-gradient(135deg, var(--gj-event-kpi-bg-1), var(--gj-event-kpi-bg-2));
}

.gj-event-backend .gj-event-kpi-primary {
  --gj-event-kpi-bg-1: #f3f1ff;
  --gj-event-kpi-bg-2: #ffffff;
  --gj-event-kpi-icon-bg: #e7e2ff;
  --gj-event-kpi-icon-color: #6b4bf3;
}

.gj-event-backend .gj-event-kpi-info {
  --gj-event-kpi-bg-1: #eef6ff;
  --gj-event-kpi-bg-2: #ffffff;
  --gj-event-kpi-icon-bg: #ddeefe;
  --gj-event-kpi-icon-color: #2563eb;
}

.gj-event-backend .gj-event-kpi-success {
  --gj-event-kpi-bg-1: #eefaf1;
  --gj-event-kpi-bg-2: #ffffff;
  --gj-event-kpi-icon-bg: #ddf7e5;
  --gj-event-kpi-icon-color: #16a34a;
}

.gj-event-backend .gj-event-kpi-warning {
  --gj-event-kpi-bg-1: #fff7ec;
  --gj-event-kpi-bg-2: #ffffff;
  --gj-event-kpi-icon-bg: #ffe8ce;
  --gj-event-kpi-icon-color: #ea7a12;
}

.gj-event-backend .gj-event-kpi-body {
  align-items: flex-start;
  display: flex;
  gap: 14px;
  min-height: 144px;
  padding: 20px 22px;
}

.gj-event-backend .gj-event-kpi-icon {
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.55) 100%),
    var(--gj-event-kpi-icon-bg);
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  color: var(--gj-event-kpi-icon-color);
  display: inline-flex;
  flex: 0 0 58px;
  font-size: 28px;
  height: 58px;
  justify-content: center;
  width: 58px;
}

.gj-event-backend .gj-event-kpi-icon i {
  line-height: 1;
}

.gj-event-backend .gj-event-kpi-content {
  display: grid;
  gap: 6px;
}

.gj-event-backend .gj-event-kpi-label {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.gj-event-backend .gj-event-kpi-value {
  color: #202939;
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin: 0;
}

.gj-event-backend .gj-event-kpi-note {
  color: #667085;
  font-size: 13px;
  line-height: 1.45;
}

.gj-event-backend .gj-event-card-header {
  border-bottom: 1px solid #edf0f5;
  padding: 18px 22px;
}

.gj-event-backend .gj-event-section-heading {
  align-items: flex-start;
  display: flex;
  gap: 12px;
}

.gj-event-backend .gj-event-section-heading h5 {
  color: #202939;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.gj-event-backend .gj-event-section-heading p {
  color: #667085;
  font-size: 13px;
  line-height: 1.45;
}

.gj-event-backend .gj-event-section-icon {
  align-items: center;
  background: linear-gradient(180deg, #f6f3ff 0%, #efeafe 100%);
  border: 1px solid #e2dbff;
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  color: #6b4bf3;
  display: inline-flex;
  flex: 0 0 48px;
  font-size: 22px;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.gj-event-backend .gj-event-section-icon i,
.gj-event-backend .btn.gj-event-btn i {
  line-height: 1;
}

.gj-event-backend .gj-event-section .card-body,
.gj-event-backend .gj-event-section-intro {
  padding: 22px;
}

.gj-event-backend .gj-event-section-intro {
  border-bottom: 1px solid #edf0f5;
  color: #667085;
  font-size: 13px;
}

.gj-event-backend .gj-event-form-grid .form-label {
  color: #344054;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
}

.gj-event-backend .gj-event-form-grid .form-control,
.gj-event-backend .gj-event-form-grid .form-select {
  background: #ffffff;
  border: 1px solid #d7deea;
  border-radius: 12px;
  box-shadow: none;
  color: #202939;
  min-height: 46px;
  padding: 11px 14px;
}

.gj-event-backend .gj-event-form-grid textarea.form-control {
  min-height: 120px;
}

.gj-event-backend .gj-event-form-grid .form-control:focus,
.gj-event-backend .gj-event-form-grid .form-select:focus,
.gj-event-backend .gj-event-form-grid .form-check-input:focus {
  border-color: #8b7dff;
  box-shadow: 0 0 0 4px rgba(114, 103, 239, 0.12);
}

.gj-event-backend .gj-event-form-grid input[type="file"].form-control {
  padding-bottom: 9px;
  padding-top: 9px;
}

.gj-event-backend .gj-event-color-field {
  align-items: center;
  background: #ffffff;
  border: 1px solid #d7deea;
  border-radius: 12px;
  display: flex;
  gap: 12px;
  min-height: 46px;
  padding: 7px 10px;
}

.gj-event-backend .gj-event-color-field .form-control-color {
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  flex: 0 0 52px;
  min-height: 32px;
  padding: 0;
  width: 52px;
}

.gj-event-backend .gj-event-color-field span {
  color: #475467;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.gj-event-backend .gj-event-toggle-row {
  align-items: center;
  background: #f8faff;
  border: 1px solid #e6eaf2;
  border-radius: 16px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
}

.gj-event-backend .gj-event-toggle-label {
  color: #202939;
  font-size: 14px;
  font-weight: 700;
}

.gj-event-backend .gj-event-toggle-help {
  color: #667085;
  font-size: 12px;
  margin-top: 2px;
}

.gj-event-backend .gj-event-switch {
  align-items: center;
  display: inline-flex;
  gap: 10px;
  margin: 0;
}

.gj-event-backend .gj-event-switch .form-check-input {
  cursor: pointer;
  height: 22px;
  margin-left: 0;
  width: 42px;
}

.gj-event-backend .gj-event-switch .form-check-label {
  color: #202939;
  font-size: 13px;
  font-weight: 700;
}

.gj-event-backend .gj-event-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
}

.gj-event-backend .btn.gj-event-btn {
  align-items: center;
  border-radius: 12px;
  box-shadow: none !important;
  display: inline-flex;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
}

.gj-event-backend .btn.btn-primary.gj-event-btn {
  background: #7267ef;
  border-color: #7267ef;
  color: #ffffff;
}

.gj-event-backend .btn.btn-primary.gj-event-btn:hover,
.gj-event-backend .btn.btn-primary.gj-event-btn:focus {
  background: #6558ea;
  border-color: #6558ea;
}

.gj-event-backend .btn.gj-event-btn-secondary {
  background: #f5f3ff;
  border-color: #ddd7ff;
  color: #5d4de1;
}

.gj-event-backend .btn.gj-event-btn-secondary:hover,
.gj-event-backend .btn.gj-event-btn-secondary:focus {
  background: #eeeaff;
  border-color: #d2cbff;
  color: #4e40cb;
}

.gj-event-backend .btn.gj-event-btn-danger {
  box-shadow: none !important;
}

.gj-event-backend .gj-event-preview-card {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
  border: 1px solid #e6eaf2;
  border-radius: 18px;
  display: grid;
  gap: 14px;
  height: 100%;
  padding: 18px;
}

.gj-event-backend .gj-event-preview-label {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.gj-event-backend .gj-event-preview-meta {
  color: #667085;
  font-size: 12px;
  line-height: 1.5;
}

.gj-event-backend .gj-event-countdown-preview {
  --gj-event-countdown-bg: #5a2431;
  --gj-event-countdown-text: #ffffff;
  --gj-event-countdown-highlight: #ffdf6b;
  align-content: center;
  background:
    linear-gradient(180deg, rgba(17, 24, 39, 0.18) 0%, rgba(17, 24, 39, 0.36) 100%),
    var(--gj-event-countdown-bg);
  border-radius: 18px;
  color: var(--gj-event-countdown-text);
  display: grid;
  justify-items: center;
  min-height: 220px;
  padding: 22px 18px;
  text-align: center;
}

.gj-event-backend .gj-event-countdown-preview strong {
  color: var(--gj-event-countdown-highlight);
}

.gj-event-backend .gj-event-countdown-row {
  align-items: center;
  display: inline-grid;
  gap: 10px;
  grid-auto-flow: column;
  margin-top: 16px;
}

.gj-event-backend .gj-event-countdown-sep {
  font-size: 20px;
  font-weight: 800;
  opacity: 0.75;
}

.gj-event-backend .gj-event-countdown-box {
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 14px;
  min-width: 66px;
  padding: 12px 10px;
}

.gj-event-backend .gj-event-countdown-box b {
  display: block;
  font-size: 22px;
  line-height: 1;
}

.gj-event-backend .gj-event-countdown-box span {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-top: 6px;
  opacity: 0.86;
}

.gj-event-backend .gj-event-logo-preview,
.gj-event-backend .gj-event-title-preview {
  align-items: center;
  background: #ffffff;
  border: 1px solid #e8edf5;
  border-radius: 16px;
  display: flex;
  justify-content: center;
  min-height: 220px;
  padding: 18px;
  text-align: center;
}

.gj-event-backend .gj-event-logo-preview img {
  max-height: 96px;
  max-width: 240px;
  object-fit: contain;
}

.gj-event-backend .gj-event-title-preview {
  container-type: inline-size;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
  width: 100%;
}

.gj-event-backend .gj-event-title-preview h5 {
  color: #2d3d5a;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-wrap: balance;
  font-weight: 800;
  font-size: clamp(28px, 10cqw, 56px);
  line-height: 1.08;
  margin: 0;
  word-break: break-word;
}

.gj-event-backend .gj-event-title-preview .subtitle {
  color: #6b4bf3;
  font-style: italic;
  font-weight: 700;
  font-size: clamp(18px, 5.2cqw, 30px);
  line-height: 1.2;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-wrap: balance;
  word-break: break-word;
}

.gj-event-backend .gj-event-table-wrap {
  border-top: 1px solid #edf0f5;
}

.gj-event-backend .gj-event-table {
  margin-bottom: 0;
}

.gj-event-backend .gj-event-table thead th {
  background: #fafbff;
  border-bottom: 1px solid #edf0f5;
  color: #667085;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 14px 16px;
  text-transform: uppercase;
}

.gj-event-backend .gj-event-table tbody td {
  border-color: #edf0f5;
  padding: 14px 16px;
  vertical-align: middle;
}

.gj-event-backend .gj-event-thumb {
  background: #f5f7fb;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  height: 120px;
  object-fit: cover;
  width: 92px;
}

.gj-event-backend .gj-event-avatar {
  background: #f5f7fb;
  border: 1px solid #e7eaee;
  border-radius: 50%;
  height: 72px;
  object-fit: cover;
  width: 72px;
}

.gj-event-backend .gj-event-placeholder {
  align-items: center;
  color: #697586;
  display: flex;
  font-size: 12px;
  font-weight: 600;
  justify-content: center;
}

.gj-event-backend .gj-event-subsection-title {
  color: #202939;
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 14px;
}

.gj-event-backend .gj-event-nested-card {
  background: #fbfcfe;
  border-color: #e7ebf3 !important;
  border-radius: 16px;
}

@media (max-width: 1199.98px) {
  .gj-event-backend .gj-event-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .gj-event-backend .gj-event-hero .card-body {
    flex-direction: column;
  }

  .gj-event-backend .gj-event-hero-meta {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .gj-event-backend {
    gap: 16px;
  }

  .gj-event-backend .gj-event-hero .card-body,
  .gj-event-backend .gj-event-section .card-body,
  .gj-event-backend .gj-event-card-header,
  .gj-event-backend .gj-event-section-intro {
    padding: 16px;
  }

  .gj-event-backend .gj-event-kpi-grid {
    grid-template-columns: 1fr;
  }

  .gj-event-backend .gj-event-toggle-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .gj-event-backend .gj-event-countdown-row {
    gap: 6px;
  }

  .gj-event-backend .gj-event-countdown-box {
    min-width: 58px;
  }

  .gj-event-backend .gj-event-thumb {
    width: 72px;
  }
}

.gj-team-sales-editor {
  display: grid;
  gap: 18px;
}

.gj-team-sales-head {
  align-items: center;
  display: flex;
  gap: 12px;
}

.gj-team-sales-head-icon {
  align-items: center;
  background: #f3f0ff;
  border: 1px solid #dfe5ff;
  border-radius: 14px;
  color: #6b4bf3;
  display: inline-flex;
  font-size: 20px;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.gj-team-sales-modal .modal-body {
  padding: 20px 22px;
}

.gj-team-sales-modal .modal-footer {
  border-top: 1px solid #e7eaee;
  padding: 14px 22px;
}

.gj-team-sales-list-card .card-header {
  padding: 18px 20px;
}

.gj-team-sales-list-card .table-responsive {
  overflow-x: auto;
  padding-right: 8px;
}

.gj-team-sales-table {
  table-layout: fixed;
  width: 100%;
}

.gj-team-sales-table thead th {
  color: #667085;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gj-team-sales-table tbody td {
  padding-bottom: 16px;
  padding-top: 16px;
  vertical-align: top;
}

.gj-team-sales-table th:last-child,
.gj-team-sales-table td:last-child {
  min-width: 208px;
}

.gj-team-sales-editor .gj-ts-avatar {
  align-items: center;
  background: #f5f7fb;
  border: 1px solid #e7eaee;
  border-radius: 14px;
  color: #455a64;
  display: inline-flex;
  font-weight: 800;
  flex: 0 0 56px;
  height: 56px;
  justify-content: center;
  object-fit: cover;
  width: 56px;
}

.gj-team-sales-editor .gj-ts-avatar-lg {
  height: 92px;
  width: 92px;
}

.gj-team-sales-editor .gj-ts-actions,
.gj-team-sales-editor .gj-ts-badges,
.gj-team-sales-editor .gj-ts-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gj-team-sales-editor .gj-ts-actions {
  justify-content: flex-end;
}

.gj-team-sales-table .gj-ts-actions {
  flex-wrap: nowrap;
}

.gj-team-sales-member {
  align-items: center;
  display: flex;
  gap: 14px;
  min-width: 220px;
}

.gj-team-sales-member-meta {
  display: grid;
  gap: 4px;
}

.gj-team-sales-member-name {
  color: #202939;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
}

.gj-team-sales-member-sub {
  color: #667085;
  font-size: 12px;
  line-height: 1.35;
}

.gj-team-sales-info-stack {
  display: grid;
  gap: 4px;
}

.gj-team-sales-contact-actions {
  align-items: center;
  display: flex;
  gap: 8px;
}

.gj-team-sales-contact-btn {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 10px;
  color: #475467;
  display: inline-flex;
  height: 32px;
  justify-content: center;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  width: 32px;
}

.gj-team-sales-contact-btn:hover,
.gj-team-sales-contact-btn:focus {
  background: #f3f4f6;
  border-color: #d0d5dd;
  color: #202939;
  text-decoration: none;
}

.gj-team-sales-contact-btn.is-disabled {
  background: #f8fafc;
  color: #98a2b3;
  opacity: 0.6;
}

.gj-team-sales-contact-btn i {
  font-size: 15px;
}

.gj-team-sales-role-main {
  color: #202939;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
}

.gj-team-sales-role-sub {
  color: #667085;
  font-size: 12px;
  line-height: 1.35;
  max-width: 220px;
}

.gj-team-sales-promo-cell {
  display: flex;
  justify-content: flex-start;
}

.gj-team-sales-promo-trigger {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  color: #344054;
  display: inline-flex;
  gap: 8px;
  height: 34px;
  justify-content: center;
  min-width: 62px;
  padding: 0 10px;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.gj-team-sales-promo-trigger:hover,
.gj-team-sales-promo-trigger:focus {
  background: #f3f4f6;
  border-color: #d0d5dd;
  color: #202939;
}

.gj-team-sales-promo-trigger.is-disabled {
  color: #98a2b3;
  opacity: 0.7;
}

.gj-team-sales-promo-count {
  background: #eef2ff;
  border-radius: 999px;
  color: #6b4bf3;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  min-width: 18px;
  padding: 4px 6px;
}

.gj-team-sales-action-btn {
  align-items: center;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  padding: 0;
  width: 34px;
}

.gj-team-sales-action-btn i {
  font-size: 16px;
}

.gj-team-sales-promo-modal-list {
  color: #344054;
  font-size: 13px;
  line-height: 1.7;
  white-space: pre-line;
}

.gj-leads-page .page-wrap {
  gap: 16px;
}

.gj-leads-toolbar {
  margin-bottom: 4px;
}

.gj-leads-page-head {
  align-items: center;
  display: flex;
  gap: 12px;
}

.gj-leads-page-head-icon {
  align-items: center;
  background: #eef4ff;
  border: 1px solid #d9e4ff;
  border-radius: 14px;
  color: #4c6fff;
  display: inline-flex;
  font-size: 20px;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.gj-leads-filter-card {
  padding: 14px;
}

.gj-leads-filter-toolbar {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: minmax(260px, 1.5fr) repeat(4, minmax(120px, 1fr)) minmax(150px, 1fr) auto;
  padding: 0 !important;
}

.gj-leads-filter-toolbar .form-control,
.gj-leads-filter-toolbar select {
  min-height: 40px;
}

.gj-leads-filter-search {
  min-width: 0;
}

.gj-leads-filter-group {
  display: contents;
}

.gj-leads-filter-actions {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.gj-leads-filter-actions .btn {
  white-space: nowrap;
}

.gj-leads-table-card {
  padding: 16px;
}

.gj-leads-page .table-head {
  color: #667085;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gj-leads-page .table-row {
  border-radius: 14px;
}

.gj-leads-page .table-row.unread {
  border: 1px solid #f8d7da;
}

.gj-leads-page .lead-col .name,
.gj-leads-page .pkg-col .name {
  color: #202939;
}

.gj-leads-lead-wa {
  margin-top: 6px;
}

.gj-leads-wa-btn {
  align-items: center;
  background: #ebfff1;
  border: 1px solid #b7ebc6;
  border-radius: 10px;
  color: #0f8f4b;
  display: inline-flex;
  height: 32px;
  justify-content: center;
  text-decoration: none;
  width: 32px;
}

.gj-leads-wa-btn:hover,
.gj-leads-wa-btn:focus {
  background: #ddfce7;
  color: #0b6b39;
  text-decoration: none;
}

.gj-leads-action-icon {
  background: #fbfcfe;
}

.gj-leads-action-wa {
  color: #0f8f4b;
}

.gj-leads-pagination {
  align-items: center;
  border-top: 1px solid #e7eaee;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  margin-top: 12px;
  padding-top: 14px;
}

.gj-leads-pagination-meta {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
}

.gj-leads-pagination-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gj-leads-pagination-links .btn.disabled {
  opacity: 0.6;
  pointer-events: none;
}

@media (max-width: 1200px) {
  .gj-leads-filter-toolbar {
    grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(120px, 1fr));
  }

  .gj-leads-filter-group {
    display: grid;
    gap: 12px;
    grid-column: 1 / -1;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .gj-leads-filter-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
}

@media (max-width: 760px) {
  .gj-leads-filter-toolbar,
  .gj-leads-filter-group {
    grid-template-columns: 1fr !important;
  }

  .gj-leads-filter-actions {
    justify-content: stretch;
  }

  .gj-leads-filter-actions .btn {
    flex: 1 1 100%;
  }

  .gj-leads-page .table-card {
    padding: 0 !important;
  }

  .gj-leads-table-card {
    padding: 0;
  }

  .gj-leads-pagination {
    padding: 14px;
  }

  .gj-leads-pagination-links {
    width: 100%;
  }

  .gj-leads-pagination-links .btn {
    flex: 1 1 auto;
  }
}

.gj-team-sales-empty-state {
  align-items: center;
  display: grid;
  gap: 10px;
  justify-items: center;
  padding: 28px 12px;
  text-align: center;
}

.gj-team-sales-empty-icon {
  align-items: center;
  background: #f3f0ff;
  border: 1px solid #dfe5ff;
  border-radius: 18px;
  color: #6b4bf3;
  display: inline-flex;
  font-size: 24px;
  height: 56px;
  justify-content: center;
  width: 56px;
}

.gj-team-sales-editor .gj-ts-tag-option {
  align-items: center;
  border: 1px solid #e7eaee;
  border-radius: 8px;
  display: inline-flex;
  gap: 6px;
  padding: 6px 10px;
}

@media (max-width: 991.98px) {
  .gj-team-sales-table thead {
    display: none;
  }

  .gj-team-sales-table,
  .gj-team-sales-table tbody,
  .gj-team-sales-table tr,
  .gj-team-sales-table td {
    display: block;
    width: 100%;
  }

  .gj-team-sales-table tbody {
    padding: 14px;
  }

  .gj-team-sales-table tr {
    border: 1px solid #e7eaee;
    border-radius: 18px;
    margin-bottom: 14px;
    overflow: hidden;
    padding: 16px;
  }

  .gj-team-sales-table tbody td {
    border: 0;
    padding: 0 0 12px;
    text-align: left !important;
  }

  .gj-team-sales-table tbody td:last-child {
    padding-bottom: 0;
  }

  .gj-team-sales-table tbody td::before {
    color: #667085;
    content: attr(data-label);
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
    text-transform: uppercase;
  }

  .gj-team-sales-editor .gj-ts-actions {
    justify-content: flex-start;
  }

  .gj-team-sales-contact-actions {
    gap: 10px;
  }

  .gj-team-sales-role-sub {
    max-width: none;
  }

  .gj-team-sales-modal .modal-body,
  .gj-team-sales-modal .modal-footer {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (min-width: 992px) {
  .gj-team-sales-list-card .table-responsive {
    overflow: visible;
  }
}

.gj-promotion-editor {
  display: grid;
  gap: 16px;
}

.gj-promotion-editor .gj-promo-preview-img {
  border: 1px solid #e7eaee;
  border-radius: 8px;
  height: auto;
  max-width: 220px;
  object-fit: cover;
  width: 100%;
}

.gj-promotion-editor .gj-promo-thumb {
  background: #f5f7fb;
  border: 1px solid #e7eaee;
  border-radius: 8px;
  height: 48px;
  object-fit: cover;
  width: 48px;
}

.gj-promotion-editor .gj-promo-actions,
.gj-promotion-editor .gj-promo-team-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gj-promotion-editor .gj-promo-actions {
  justify-content: flex-end;
}

.gj-promotion-editor .gj-promo-option {
  align-items: center;
  border: 1px solid #e7eaee;
  border-radius: 8px;
  display: inline-flex;
  gap: 6px;
  padding: 6px 10px;
}

.gj-customers {
  display: grid;
  gap: 16px;
}

.gj-booking-manager .gj-booking-optional-ref {
  background: #fbfcfe;
  border: 1px dashed #e7eaee;
  border-radius: 8px;
  padding: 10px 12px;
}

.gj-booking-manager .gj-booking-optional-ref > summary {
  color: #6b4bf3;
  cursor: pointer;
  font-weight: 800;
}

.gj-booking-manager .gj-booking-sales-picker {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.gj-booking-manager .gj-booking-sales-option {
  align-items: center;
  background: #ffffff;
  border: 1px solid #e7eaee;
  border-radius: 8px;
  display: flex;
  gap: 10px;
  padding: 10px 12px;
  text-align: left;
  width: 100%;
}

.gj-booking-manager .gj-booking-sales-option:hover {
  border-color: #c9c3f6;
}

.gj-booking-manager .gj-booking-sales-option.is-selected {
  background: #f4f1ff;
  border-color: #6b4bf3;
}

.gj-booking-manager .gj-booking-sales-avatar {
  align-items: center;
  background: #f5f7fb;
  border: 1px solid #e7eaee;
  border-radius: 8px;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  overflow: hidden;
  width: 40px;
}

.gj-booking-manager .gj-booking-sales-avatar img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.gj-booking-manager .gj-booking-sales-initials {
  color: #455a64;
  font-weight: 900;
}

.gj-booking-manager .gj-booking-sales-meta {
  min-width: 0;
}

.gj-booking-manager .gj-booking-sales-name {
  color: #2d3d5a;
  display: block;
  font-weight: 800;
  line-height: 1.1;
}

.gj-booking-manager .gj-booking-sales-role {
  color: #697586;
  display: block;
  font-size: 12px;
  line-height: 1.1;
}

.gj-booking-sales-chip {
  align-items: center;
  display: flex;
  gap: 10px;
}

.gj-booking-sales-chip .gj-booking-sales-avatar {
  height: 34px;
  width: 34px;
}

.gj-booking-listing-card {
  overflow: hidden;
}

.gj-booking-listing-table {
  min-width: 1080px;
}

.gj-booking-listing-table > :not(caption) > * > * {
  padding: 14px 12px;
  vertical-align: middle;
}

.gj-booking-listing-table thead th {
  color: #344054;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}

.gj-booking-listing-table tbody td {
  color: #202939;
  font-size: 14px;
}

.gj-booking-listing-table .badge {
  font-weight: 700;
}

.gj-booking-col-no {
  width: 56px;
}

.gj-booking-row-no {
  color: #667085;
  font-size: 13px;
  font-weight: 700;
}

.gj-booking-cell-title {
  color: #202939;
  font-weight: 700;
  line-height: 1.35;
  word-break: break-word;
}

.gj-booking-cell-meta {
  color: #697586;
  font-size: 12px;
  line-height: 1.4;
  margin-top: 4px;
  word-break: break-word;
}

.gj-booking-cell-package,
.gj-booking-cell-departure,
.gj-booking-cell-payment,
.gj-booking-cell-insurance,
.gj-booking-cell-workflow,
.gj-booking-cell-next-action {
  min-width: 0;
}

.gj-booking-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gj-booking-badge-row-center {
  justify-content: center;
}

.gj-booking-sales-chip {
  min-width: 0;
}

.gj-booking-sales-chip-text {
  min-width: 0;
}

.gj-booking-sales-chip-text strong {
  display: block;
  line-height: 1.2;
  word-break: break-word;
}

.gj-booking-cell-actions {
  min-width: 82px;
}

.gj-booking-action-stack {
  gap: 6px;
  justify-content: center;
}

.gj-booking-action-stack form {
  display: inline-flex;
}

.gj-booking-group-list {
  display: grid;
  gap: 16px;
}

.gj-booking-group {
  background: #ffffff;
  border: 1px solid #e7eaee;
  border-radius: 14px;
  overflow: hidden;
}

.gj-booking-group-head {
  align-items: center;
  background: #fcfcfe;
  border-bottom: 1px solid #eef1f5;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
  padding: 16px 18px;
}

.gj-booking-group-identity {
  align-items: center;
  display: flex;
  gap: 12px;
  min-width: 0;
}

.gj-booking-group-avatar {
  border-radius: 999px;
  flex: 0 0 auto;
  height: 46px;
  width: 46px;
}

.gj-booking-group-copy {
  min-width: 0;
}

.gj-booking-group-name {
  color: #202939;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  word-break: break-word;
}

.gj-booking-group-role {
  color: #697586;
  font-size: 12px;
  font-weight: 600;
  margin-top: 4px;
}

.gj-booking-group-stats {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.gj-booking-group-stat {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 999px;
  color: #344054;
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  min-height: 28px;
  padding: 6px 10px;
}

.gj-booking-group-stat-primary {
  background: #eef2ff;
  border-color: #dfe5ff;
  color: #5546cf;
}

.gj-booking-group-stat-warning {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}

.gj-booking-group-stat-success {
  background: #ecfdf3;
  border-color: #b7ebc6;
  color: #027a48;
}

.gj-booking-page-head {
  align-items: center;
  display: flex;
  gap: 14px;
}

.gj-booking-page-head-icon {
  align-items: center;
  background: #eef2ff;
  border: 1px solid #dfe5ff;
  border-radius: 16px;
  color: #5546cf;
  display: inline-flex;
  font-size: 20px;
  height: 48px;
  justify-content: center;
  line-height: 1;
  width: 48px;
}

.gj-booking-input-group .input-group-text {
  background: #f8fafc;
  border-color: #e7eaee;
  color: #667085;
  min-width: 44px;
}

.gj-booking-input-group .form-control {
  border-left: 0;
}

.gj-booking-input-group .form-control:focus {
  border-left: 0;
}

.gj-booking-date-display {
  min-height: 44px;
}

.gj-booking-create-modal .modal-header {
  align-items: center;
  border-bottom: 1px solid #e7eaee;
  padding: 18px 22px;
}

.gj-booking-create-modal .modal-body {
  padding: 20px 22px 132px;
}

.gj-booking-filter-card .card-body {
  padding: 16px 18px;
}

.gj-booking-filter-card .form-control,
.gj-booking-filter-card .form-select {
  min-height: 40px;
}

.gj-booking-manager .gj-booking-sales-picker {
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gj-booking-manager .gj-booking-sales-option {
  border-radius: 12px;
  gap: 12px;
  min-height: 74px;
  padding: 12px 14px;
}

.gj-booking-manager .gj-booking-sales-avatar {
  border-radius: 12px;
  height: 48px;
  width: 48px;
}

.gj-booking-manager .gj-booking-sales-name {
  font-size: 13px;
  line-height: 1.25;
}

.gj-booking-manager .gj-booking-sales-role {
  font-size: 11px;
  line-height: 1.3;
  margin-top: 2px;
}

.gj-booking-required-mark {
  color: #5546cf;
  font-weight: 800;
}

.gj-booking-step-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  margin-left: auto;
}

.gj-booking-step-state {
  display: none;
}

.gj-booking-progressive-form.is-guided .gj-booking-step-block {
  border: 1px solid #e7eaee;
  border-radius: 18px;
  margin-bottom: 20px;
  padding: 16px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.gj-booking-progressive-form.is-guided > .my-4 {
  display: none;
}

.gj-booking-progressive-form.is-guided .gj-booking-step-block.is-active {
  background: #fcfcff;
  border-color: #dfe5ff;
  box-shadow: 0 0 0 3px rgba(85, 70, 207, 0.06);
}

.gj-booking-progressive-form.is-guided .gj-booking-step-block.is-complete:not(.is-active) {
  background: #f8fafc;
  border-color: #d9e6dd;
}

.gj-booking-progressive-form.is-guided .gj-booking-step-head {
  cursor: pointer;
  margin-bottom: 0 !important;
}

.gj-booking-progressive-form.is-guided .gj-booking-step-state {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 999px;
  color: #697586;
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  min-height: 28px;
  padding: 4px 10px;
}

.gj-booking-progressive-form.is-guided .gj-booking-step-block.is-complete .gj-booking-step-state {
  background: #ecfdf3;
  border-color: #d1fadf;
  color: #067647;
}

.gj-booking-progressive-form.is-guided .gj-booking-step-block.is-active .gj-booking-step-state {
  background: #eef2ff;
  border-color: #dfe5ff;
  color: #5546cf;
}

.gj-booking-progressive-form.is-guided .gj-booking-step-body {
  margin-top: 16px;
}

.gj-booking-step-summary {
  color: #667085;
  display: none;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
  margin-top: 4px;
}

.gj-booking-step-summary.is-visible {
  display: block;
}

.gj-booking-progressive-form.is-guided .gj-booking-step-block.is-condensed .gj-booking-step-body {
  display: none;
}

.gj-booking-change-sales {
  padding-left: 0;
  padding-right: 0;
  text-decoration: none;
}

.gj-booking-progressive-form.is-guided .gj-booking-sales-picker.is-selection-locked .gj-booking-sales-option.is-selected {
  background: #f7f8ff;
  border-color: #cfd4ff;
}

.gj-booking-selected-sales {
  margin-top: 12px;
  margin-bottom: 12px;
}

.gj-booking-selected-sales-label {
  color: #5546cf;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.gj-booking-selected-sales-card {
  align-items: center;
  background: #f7f8ff;
  border: 1px solid #dfe5ff;
  border-radius: 16px;
  display: flex;
  gap: 12px;
  padding: 12px 14px;
}

.gj-booking-selected-sales-card .gj-booking-sales-avatar {
  height: 52px;
  width: 52px;
}

.gj-booking-selected-sales-card .gj-booking-sales-name {
  font-size: 14px;
}

.gj-booking-selected-sales-card .gj-booking-sales-role {
  font-size: 12px;
}

.gj-booking-step-feedback {
  color: #b54708;
  display: none;
  font-size: 12px;
  font-weight: 600;
  margin-top: 12px;
}

.gj-booking-step-feedback.is-visible {
  display: block;
}

.gj-booking-step-continue {
  margin-top: 12px;
}

.gj-booking-payment-detail-field.d-none {
  display: none !important;
}

.gj-booking-insurance-later-note {
  color: #667085;
  font-size: 12px;
  font-weight: 600;
}

.gj-booking-progressive-form.is-guided .gj-booking-step-block .my-4 {
  display: none;
}

.gj-booking-sticky-footer {
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid #e7eaee;
  bottom: 0;
  margin-top: 24px;
  padding: 14px 0 calc(14px + env(safe-area-inset-bottom));
  position: sticky;
  z-index: 5;
}

.gj-booking-sticky-footer .gj-v2-actions {
  justify-content: flex-end;
}

.gj-booking-group-table-wrap {
  overflow: hidden;
}

.gj-booking-mini-table {
  margin: 0;
  table-layout: fixed;
  width: 100%;
}

.gj-booking-mini-table thead th {
  background: #f8fafc;
  border-bottom: 1px solid #e7eaee;
  color: #475467;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 11px 12px;
  text-transform: uppercase;
  white-space: nowrap;
}

.gj-booking-mini-table tbody td {
  border-top: 1px solid #eef1f5;
  padding: 12px;
  vertical-align: middle;
}

.gj-booking-mini-table thead th:first-child,
.gj-booking-mini-table tbody td:first-child {
  padding-left: 18px;
}

.gj-booking-mini-table thead th:last-child,
.gj-booking-mini-table tbody td:last-child {
  padding-right: 18px;
}

.gj-booking-mini-table .gj-booking-col-no {
  width: 54px;
}

.gj-booking-mini-table th:nth-child(2),
.gj-booking-mini-table td:nth-child(2) {
  width: 20%;
}

.gj-booking-mini-table th:nth-child(3),
.gj-booking-mini-table td:nth-child(3) {
  width: 60px;
}

.gj-booking-mini-table th:nth-child(4),
.gj-booking-mini-table td:nth-child(4) {
  width: 240px;
}

.gj-booking-mini-table th:nth-child(5),
.gj-booking-mini-table td:nth-child(5) {
  width: 120px;
}

.gj-booking-mini-table th:nth-child(6),
.gj-booking-mini-table td:nth-child(6) {
  width: 88px;
}

.gj-booking-mini-table th:nth-child(7),
.gj-booking-mini-table td:nth-child(7) {
  width: 14%;
}

.gj-booking-mini-table th:nth-child(8),
.gj-booking-mini-table td:nth-child(8) {
  width: 12%;
}

.gj-booking-trip-cell,
.gj-booking-departure-cell {
  min-width: 0;
}

.gj-booking-trip-cell {
  max-width: 240px;
}

.gj-booking-trip-title,
.gj-booking-trip-subtitle {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gj-booking-trip-title {
  color: #111827;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.gj-booking-trip-subtitle {
  color: #697586;
  font-size: 12px;
  line-height: 1.35;
}

.gj-booking-departure-cell .gj-booking-mini-title {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gj-booking-mini-table th:nth-child(9),
.gj-booking-mini-table td:nth-child(9) {
  width: 124px;
}

.gj-booking-mini-no {
  color: #697586;
  font-size: 12px;
  font-weight: 700;
}

.gj-booking-mini-title {
  color: #202939;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  word-break: break-word;
}

.gj-booking-mini-title .gj-booking-new-badge {
  margin-left: 8px;
  vertical-align: middle;
}

.gj-booking-mini-meta {
  color: #697586;
  font-size: 11px;
  line-height: 1.35;
  margin-top: 3px;
}

.gj-booking-group-summary-cell {
  display: grid;
  gap: 3px;
  justify-items: center;
}

.gj-booking-mini-actions {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  justify-content: center;
}

.gj-booking-mini-actions-wrap {
  display: grid;
  gap: 8px;
  justify-items: center;
}

.gj-booking-mini-actions form,
.gj-booking-mini-action-form {
  display: inline-flex;
  margin: 0;
}

.gj-booking-ready-note-btn {
  align-items: center;
  border-radius: 10px !important;
  color: #9a3412 !important;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  padding: 0 !important;
  width: 34px;
}

.gj-booking-ready-note-btn:hover,
.gj-booking-ready-note-btn:focus {
  background: #fed7aa !important;
  border-color: #fdba74 !important;
  color: #9a3412 !important;
}

.gj-booking-listing-head {
  align-items: center;
  display: flex;
  gap: 12px;
}

.gj-booking-listing-head-icon {
  align-items: center;
  background: #eef2ff;
  border: 1px solid #dfe5ff;
  border-radius: 14px;
  color: #5546cf;
  display: inline-flex;
  font-size: 18px;
  height: 42px;
  justify-content: center;
  line-height: 1;
  width: 42px;
}

.gj-booking-listing-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.gj-booking-listing-count-badge {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 999px;
  color: #475467;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  min-height: 34px;
  padding: 7px 12px;
}

.gj-booking-listing-count-badge.is-primary {
  background: #eef2ff;
  border-color: #dfe5ff;
  color: #5546cf;
}

.gj-booking-listing-count-badge.is-warning {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}

.gj-booking-row-new {
  background: linear-gradient(0deg, rgba(255, 247, 237, 0.62), rgba(255, 247, 237, 0.62)), #ffffff;
}

.gj-booking-row-new > td:first-child {
  border-left: 3px solid #f59e0b;
}

.gj-booking-new-badge {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.gj-booking-payment-cell {
  display: grid;
  gap: 4px;
  background: #fbfcfe;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  padding: 8px 10px;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.gj-booking-payment-cell.is-warning {
  background: #fffaf5;
  border-color: #fed7aa;
}

.gj-booking-payment-cell.is-success {
  background: #f3fbf6;
  border-color: #b7ebc6;
}

.gj-booking-payment-cell.is-primary {
  background: #f5f7ff;
  border-color: #dfe5ff;
}

.gj-booking-payment-cell.is-danger {
  background: #fff5f6;
  border-color: #fecdd3;
}

.gj-booking-payment-lineone {
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  color: #344054;
}

.gj-booking-payment-label {
  color: #667085;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.gj-booking-payment-meta {
  color: #697586;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
}

.gj-booking-payment-cta {
  color: #5546cf;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}

.gj-booking-package-tag,
.gj-booking-inline-pill {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  min-height: 28px;
  padding: 6px 10px;
  white-space: nowrap;
}

.gj-booking-package-tag {
  background: #eef2ff;
  border: 1px solid #dfe5ff;
  color: #5546cf;
}

.gj-booking-inline-pill {
  background: #f8fafc;
  border: 1px solid #e7eaee;
  color: #475467;
  gap: 6px;
  line-height: 1.2;
  padding: 5px 10px;
  vertical-align: top;
}

.gj-booking-inline-pill.is-warning {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}

.gj-booking-inline-pill.is-success {
  background: #ecfdf3;
  border-color: #b7ebc6;
  color: #027a48;
}

.gj-booking-inline-pill.is-danger {
  background: #fff1f2;
  border-color: #fecdd3;
  color: #b42318;
}

.gj-booking-inline-pill.is-secondary {
  background: #f5f7fa;
  border-color: #dfe3e8;
  color: #475467;
}

.gj-booking-insurance-badge {
  justify-content: center;
  min-width: 102px;
  text-align: center;
}

.gj-booking-wa-btn,
.gj-booking-action-btn {
  align-items: center;
  border-radius: 10px !important;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  padding: 0 !important;
  width: 34px;
}

.gj-booking-action-btn[disabled] {
  opacity: 0.45;
  pointer-events: none;
}

.gj-booking-wa-btn.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}

.gj-booking-group-pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  padding: 12px 18px 16px;
}

.gj-booking-group-pagination-summary {
  color: #697586;
  font-size: 12px;
  font-weight: 700;
}

.gj-booking-group-pagination-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gj-booking-modal-sections {
  display: grid;
  gap: 18px;
}

.gj-booking-modal-section {
  border: 1px solid #e7eaee;
  border-radius: 16px;
  padding: 16px;
}

.gj-booking-modal-section h6 {
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 12px;
}

.gj-booking-modal-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gj-booking-modal-grid > div {
  background: #fbfcfe;
  border: 1px solid #eef1f4;
  border-radius: 12px;
  display: grid;
  gap: 4px;
  padding: 12px;
}

.gj-booking-modal-grid span {
  color: #697586;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.gj-booking-modal-grid strong {
  color: #202939;
  font-size: 13px;
  font-weight: 700;
}

.gj-booking-modal-table th,
.gj-booking-modal-table td {
  font-size: 12px;
  white-space: nowrap;
}

.gj-booking-modal-missing-list {
  margin: 0;
  padding-left: 18px;
}

.gj-booking-modal-missing-list li {
  color: #b42318;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 4px;
}

.gj-booking-ready-modal-head {
  display: grid;
  gap: 6px;
  margin-bottom: 14px;
}

.gj-booking-ready-modal-name {
  color: #202939;
  font-size: 15px;
  font-weight: 800;
}

.gj-booking-ready-modal-summary {
  color: #9a3412;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.gj-booking-ready-modal-list {
  margin: 0;
  padding-left: 18px;
}

.gj-booking-ready-modal-list li {
  color: #344054;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 6px;
}

.gj-booking-add-pax-summary {
  margin-bottom: 14px;
}

.gj-booking-modal-travel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gj-booking-modal-edit-form .form-label {
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 1399.98px) {
  .gj-booking-manager .gj-booking-sales-picker {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .gj-booking-group-head,
  .gj-booking-mini-table thead th:first-child,
  .gj-booking-mini-table tbody td:first-child {
    padding-left: 16px;
  }

  .gj-booking-mini-table thead th:last-child,
  .gj-booking-mini-table tbody td:last-child {
    padding-right: 16px;
  }
}

@media (max-width: 991.98px) {
  .gj-booking-manager .gj-booking-sales-picker {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .gj-booking-page-head {
    align-items: flex-start;
  }

  .gj-booking-listing-head {
    align-items: flex-start;
  }

  .gj-booking-listing-counts {
    justify-content: flex-start;
  }

  .gj-booking-create-modal .modal-body,
  .gj-booking-create-modal .modal-header {
    padding-left: 16px;
    padding-right: 16px;
  }

  .gj-booking-create-modal .modal-body {
    padding-bottom: 118px;
  }

  .gj-booking-step-actions {
    margin-left: 0;
    width: 100%;
  }

  .gj-booking-selected-sales-card {
    align-items: flex-start;
  }

  .gj-booking-sticky-footer .gj-v2-actions {
    justify-content: stretch;
  }

  .gj-booking-sticky-footer .gj-v2-actions .btn {
    flex: 1 1 0;
  }

  .gj-booking-group-pagination {
    align-items: flex-start;
    flex-direction: column;
  }

  .gj-booking-modal-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gj-booking-manager .gj-booking-sales-picker {
    grid-template-columns: minmax(0, 1fr);
  }

  .gj-booking-group-head {
    align-items: flex-start;
  }

  .gj-booking-group-stats {
    justify-content: flex-start;
  }

  .gj-booking-mini-table,
  .gj-booking-mini-table tbody,
  .gj-booking-mini-table tr,
  .gj-booking-mini-table td {
    display: block;
  }

  .gj-booking-mini-table thead {
    display: none;
  }

  .gj-booking-group-table-wrap {
    padding: 8px 12px 12px;
  }

  .gj-booking-mini-table tbody td {
    align-items: center;
    border-top: 0;
    display: grid;
    gap: 10px;
    grid-template-columns: 88px minmax(0, 1fr);
    padding: 8px 12px;
  }

  .gj-booking-mini-table tbody tr {
    border: 1px solid #eef1f5;
    border-radius: 12px;
    margin-top: 10px;
    padding: 6px 0;
  }

  .gj-booking-mini-table tbody tr:first-child {
    margin-top: 0;
  }

  .gj-booking-mini-table tbody td:first-child,
  .gj-booking-mini-table tbody td:last-child {
    padding-left: 12px;
    padding-right: 12px;
  }

  .gj-booking-mini-table tbody td::before {
    color: #697586;
    content: attr(data-label);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }

  .gj-booking-mini-table tbody td.text-center {
    text-align: left !important;
  }

  .gj-booking-trip-cell {
    max-width: none;
  }

  .gj-booking-trip-title,
  .gj-booking-trip-subtitle,
  .gj-booking-departure-cell .gj-booking-mini-title {
    white-space: normal;
  }

  .gj-booking-mini-actions {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .gj-booking-mini-actions-wrap {
    justify-items: flex-start;
  }

  .gj-booking-package-tag,
  .gj-booking-inline-pill,
  .gj-booking-mini-table .badge {
    white-space: normal;
  }
}

.gj-booking-travel-card .card-header,
.gj-booking-travel-card .card-body {
  gap: 16px;
}

.gj-booking-completion-workspace .card-body {
  padding: 22px;
}

.gj-booking-completion-summary-grid {
  display: grid;
  gap: 16px;
  margin-bottom: 20px;
}

.gj-booking-completion-summary-card,
.gj-booking-completion-panel {
  border: 1px solid #e7eaee;
  border-radius: 18px;
}

.gj-booking-completion-summary-card {
  background: #fbfcfe;
  padding: 18px;
}

.gj-booking-completion-summary-title {
  color: #202939;
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 14px;
}

.gj-booking-completion-summary-items {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gj-booking-completion-summary-items div {
  display: grid;
  gap: 4px;
}

.gj-booking-completion-summary-items span {
  color: #667085;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.gj-booking-completion-summary-items strong {
  color: #202939;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}

.gj-booking-passenger-grid {
  display: grid;
  gap: 16px;
}

.gj-booking-passenger-card {
  border: 1px solid #e7eaee;
  border-radius: 16px;
  padding: 16px;
}

.gj-booking-passenger-card-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.gj-booking-passenger-card-title {
  color: #202939;
  font-size: 14px;
  font-weight: 800;
}

.gj-booking-passenger-card-helper {
  color: #667085;
  font-size: 12px;
  font-weight: 600;
  margin-top: 4px;
}

.gj-booking-completion-summary-strip,
.gj-booking-completion-missing-list,
.gj-booking-completion-footer {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gj-booking-completion-summary-strip {
  margin-bottom: 12px;
}

.gj-booking-completion-missing-list {
  align-content: flex-start;
  row-gap: 8px;
}

.gj-booking-completion-panel .card-body {
  padding-top: 18px;
  padding-bottom: 18px;
}

.gj-booking-completion-panel .gj-booking-inline-pill {
  min-height: 30px;
}

.gj-booking-completion-footer {
  justify-content: flex-end;
  margin-top: 20px;
}

@media (max-width: 767.98px) {
  .gj-booking-completion-workspace .card-body,
  .gj-booking-passenger-card {
    padding: 16px;
  }

  .gj-booking-completion-summary-items {
    grid-template-columns: minmax(0, 1fr);
  }

  .gj-booking-passenger-card-head {
    align-items: stretch;
    flex-direction: column;
  }

  .gj-booking-completion-footer {
    justify-content: stretch;
  }

  .gj-booking-completion-footer .btn {
    flex: 1 1 100%;
  }
}

.gj-booking-travel-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.gj-booking-travel-tab {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e7eaee;
  border-radius: 999px;
  color: #475467;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  min-height: 34px;
  padding: 8px 14px;
  transition: all 0.2s ease;
}

.gj-booking-travel-tab.is-active {
  background: #eef2ff;
  border-color: #dfe5ff;
  color: #5546cf;
}

.gj-booking-travel-panel {
  display: none;
}

.gj-booking-travel-panel.is-active {
  display: block;
}

.gj-booking-travel-panel-head {
  margin-bottom: 14px;
}

.gj-booking-travel-panel-title {
  color: #202939;
  font-size: 14px;
  font-weight: 800;
}

.gj-booking-travel-grid {
  display: grid;
  gap: 14px;
}

.gj-booking-travel-passenger {
  border: 1px solid #e7eaee;
  border-radius: 14px;
  padding: 14px;
}

.gj-booking-travel-passenger-head {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 12px;
}

.gj-booking-travel-passenger-name {
  color: #202939;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
}

.gj-booking-travel-passenger-meta {
  color: #697586;
  font-size: 11px;
  font-weight: 600;
  margin-top: 3px;
}

.gj-booking-travel-textarea {
  background: #fbfcfe;
  font-family: Consolas, "Courier New", monospace;
  font-size: 12px;
  line-height: 1.55;
  min-height: 280px;
  resize: vertical;
}

.gj-booking-travel-copy-all.is-copied,
.gj-booking-travel-copy-passenger.is-copied {
  border-color: #b7ebc6;
  color: #027a48;
}

@media (min-width: 992px) {
  .gj-booking-travel-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .gj-booking-travel-passenger,
  .gj-booking-travel-textarea {
    min-height: 0;
  }

  .gj-booking-travel-passenger {
    padding: 12px;
  }

  .gj-booking-travel-passenger-head {
    align-items: stretch;
  }
}

.gj-customers {
  display: grid;
  gap: 16px;
}

.gj-customers .card,
.gj-customers .gj-customer-kpi {
  background: #ffffff;
  border: 1px solid #e6eaf2;
  border-radius: 18px;
  box-shadow: none;
}

.gj-customers .gj-customer-hero {
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at top right, rgba(114, 103, 239, 0.14), transparent 17rem),
    linear-gradient(180deg, #ffffff 0%, #f9faff 100%);
}

.gj-customers .gj-customer-hero::after {
  background: linear-gradient(135deg, rgba(114, 103, 239, 0.08), rgba(114, 103, 239, 0));
  border-radius: 50%;
  content: "";
  height: 180px;
  pointer-events: none;
  position: absolute;
  right: -52px;
  top: -72px;
  width: 180px;
}

.gj-customers .gj-customer-hero .card-body {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  min-height: 0;
  padding: 20px 22px;
  position: relative;
  z-index: 1;
}

.gj-customers .gj-customer-hero-main {
  display: grid;
  gap: 12px;
}

.gj-customers .gj-customer-hero-badge {
  align-items: center;
  background: rgba(114, 103, 239, 0.1);
  border: 1px solid rgba(114, 103, 239, 0.15);
  border-radius: 999px;
  color: #6b4bf3;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: 0.03em;
  padding: 7px 12px;
  text-transform: uppercase;
}

.gj-customers .gj-customer-hero-copy {
  display: grid;
  gap: 6px;
  max-width: 760px;
}

.gj-customers .gj-customer-hero-title {
  color: #202939;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.06;
  margin: 0;
}

.gj-customers .gj-customer-hero-subtitle {
  color: #667085;
  font-size: 13px;
  line-height: 1.55;
  margin: 0;
}

.gj-customers .gj-customer-hero-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.gj-customers .gj-customer-kpi-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gj-customers .gj-customer-kpi {
  --gj-customer-kpi-bg-1: #ffffff;
  --gj-customer-kpi-bg-2: #f8faff;
  --gj-customer-kpi-icon-bg: #eef2ff;
  --gj-customer-kpi-icon-color: #7267ef;
  background: linear-gradient(135deg, var(--gj-customer-kpi-bg-1), var(--gj-customer-kpi-bg-2));
}

.gj-customers .gj-customer-kpi-primary {
  --gj-customer-kpi-bg-1: #f3f1ff;
  --gj-customer-kpi-bg-2: #ffffff;
  --gj-customer-kpi-icon-bg: #e7e2ff;
  --gj-customer-kpi-icon-color: #6b4bf3;
}

.gj-customers .gj-customer-kpi-warning {
  --gj-customer-kpi-bg-1: #fff7eb;
  --gj-customer-kpi-bg-2: #ffffff;
  --gj-customer-kpi-icon-bg: #ffedd5;
  --gj-customer-kpi-icon-color: #f97316;
}

.gj-customers .gj-customer-kpi-danger {
  --gj-customer-kpi-bg-1: #fff4f4;
  --gj-customer-kpi-bg-2: #ffffff;
  --gj-customer-kpi-icon-bg: #ffe4e6;
  --gj-customer-kpi-icon-color: #dc2626;
}

.gj-customers .gj-customer-kpi-info {
  --gj-customer-kpi-bg-1: #eff6ff;
  --gj-customer-kpi-bg-2: #ffffff;
  --gj-customer-kpi-icon-bg: #dbeafe;
  --gj-customer-kpi-icon-color: #2563eb;
}

.gj-customers .gj-customer-kpi-success {
  --gj-customer-kpi-bg-1: #edf9f1;
  --gj-customer-kpi-bg-2: #ffffff;
  --gj-customer-kpi-icon-bg: #dcfce7;
  --gj-customer-kpi-icon-color: #16a34a;
}

.gj-customers .gj-customer-kpi-body {
  align-items: flex-start;
  display: flex;
  gap: 14px;
  min-height: 126px;
  padding: 18px;
}

.gj-customers .gj-customer-kpi-icon {
  align-items: center;
  background: var(--gj-customer-kpi-icon-bg);
  border: 1px solid rgba(114, 103, 239, 0.08);
  border-radius: 14px;
  color: var(--gj-customer-kpi-icon-color);
  display: inline-flex;
  flex: 0 0 50px;
  font-size: 24px;
  height: 50px;
  justify-content: center;
  width: 50px;
}

.gj-customers .gj-customer-kpi-content {
  display: grid;
  gap: 4px;
}

.gj-customers .gj-customer-kpi .label {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.gj-customers .gj-customer-kpi .value {
  color: #202939;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.gj-customers .gj-customer-kpi .note {
  color: #667085;
  font-size: 12px;
  line-height: 1.45;
}

.gj-customers .gj-customer-card-header {
  align-items: center;
  border-bottom: 1px solid #edf0f5;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 16px 18px;
}

.gj-customers .gj-customer-section-title {
  align-items: flex-start;
  display: flex;
  gap: 12px;
}

.gj-customers .gj-customer-section-icon {
  align-items: center;
  background: #f4f1ff;
  border: 1px solid #e6e0ff;
  border-radius: 14px;
  color: #6b4bf3;
  display: inline-flex;
  flex: 0 0 42px;
  font-size: 20px;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.gj-customers .gj-customer-card-meta {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
}

.gj-customers .gj-customer-toolbar {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(280px, 1.8fr) repeat(4, minmax(150px, 1fr)) auto;
  padding: 18px;
}

.gj-customers .gj-customer-field {
  align-items: center;
  background: #ffffff;
  border: 1px solid #dde4f0;
  border-radius: 14px;
  display: flex;
  gap: 10px;
  min-height: 46px;
  min-width: 0;
  padding: 7px 14px;
}

.gj-customers .gj-customer-field svg {
  color: #98a2b3;
  flex: 0 0 auto;
}

.gj-customers .gj-customer-field input,
.gj-customers .gj-customer-field select {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: #202939;
  min-width: 0;
  outline: 0;
  width: 100%;
}

.gj-customers .gj-customer-field:focus-within {
  border-color: #8b7dff;
  box-shadow: 0 0 0 3px rgba(114, 103, 239, 0.1);
}

.gj-customers .gj-customer-actions,
.gj-customers .td-docs,
.gj-customers .td-customer .actions,
.gj-customers .actions-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gj-customers .gj-customer-toolbar-btn {
  align-items: center;
  border-radius: 12px;
  box-shadow: none !important;
  display: inline-flex;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  justify-content: center;
  min-height: 42px;
  padding: 9px 15px;
  white-space: nowrap;
}

.gj-customers .gj-customer-grid {
  background: #f8faff;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.gj-customers .table-head,
.gj-customers .table-row {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(200px, 2.1fr) minmax(130px, 1.35fr) minmax(58px, 0.55fr) minmax(150px, 1.15fr) minmax(150px, 1.22fr) minmax(122px, 0.95fr) minmax(110px, 0.95fr) minmax(92px, 0.7fr);
}

.gj-customers .table-head {
  background: #f9faff;
  border: 1px solid #edf0f5;
  border-radius: 16px;
  color: #667085;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 12px 16px;
  text-transform: uppercase;
}

.gj-customers .table-row {
  background: #ffffff;
  border: 1px solid #edf0f5;
  border-radius: 16px;
  font-size: 13px;
  min-height: 88px;
  padding: 14px 16px;
  transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.gj-customers .gj-customer-row-compact {
  min-height: 72px;
  padding: 10px 14px;
}

.gj-customers .gj-customer-row-compact > div {
  align-items: center;
  align-self: center;
}

.gj-customers .table-row:hover {
  background: #fcfdff;
  border-color: #dce3f0;
  transform: translateY(-1px);
}

.gj-customers .gj-empty-row {
  grid-template-columns: 1fr;
}

.gj-customers .table-row > div {
  min-width: 0;
}

.gj-customers .td-customer {
  display: grid;
  gap: 5px;
}

.gj-customers .gj-customer-cell-stack {
  align-content: center;
  display: grid;
  gap: 6px;
}

.gj-customers .gj-customer-cell-label {
  color: #667085;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2;
  text-transform: uppercase;
}

.gj-customers .gj-customer-cell-value {
  color: #202939;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.gj-customers .td-customer .name {
  color: #202939;
  font-size: 14px;
  font-weight: 800;
}

.gj-customers .gj-customer-name {
  font-size: 14px;
  font-weight: 800;
}

.gj-customers .gj-customer-meta {
  color: #667085;
  font-size: 12px;
  line-height: 1.35;
}

.gj-customers .mono {
  color: #697586;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 11px;
}

.gj-customers .sub {
  color: #667085;
}

.gj-customers .gj-customer-actions-inline {
  align-items: center;
  gap: 6px;
}

.gj-customers .gj-customer-actions-inline .btn,
.gj-customers .gj-customer-action-wrap .btn,
.gj-customers .gj-customer-cell-stack .btn {
  min-height: 30px;
  padding: 5px 9px;
}

.gj-customers .gj-customer-actions-inline .btn,
.gj-customers .gj-customer-action-btn {
  font-size: 12px;
  font-weight: 700;
}

.gj-customers .gj-customer-actions-inline .btn i,
.gj-customers .gj-customer-action-btn i,
.gj-customers .gj-customer-assigned i {
  font-size: 14px;
  line-height: 1;
}

.gj-customers .gj-customer-action-btn {
  align-items: center;
  display: inline-flex;
  gap: 6px;
  justify-content: center;
}

.gj-customers .td-package {
  color: #344054;
  font-weight: 600;
  line-height: 1.45;
}

.gj-customers .badge {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.01em;
  min-height: 28px;
  padding: 6px 10px;
  white-space: nowrap;
}

.gj-customers .table-foot {
  background: #ffffff;
  border: 1px solid #edf0f5;
  border-radius: 14px;
  color: #667085;
  font-size: 12px;
  padding: 12px 16px;
  text-align: right;
}

.gj-customers .table-row > :nth-child(5),
.gj-customers .table-row > :nth-child(6),
.gj-customers .table-row > :nth-child(7) {
  align-content: start;
  display: grid;
  gap: 8px;
}

.gj-customers .gj-customer-row-compact > :nth-child(5),
.gj-customers .gj-customer-row-compact > :nth-child(6),
.gj-customers .gj-customer-row-compact > :nth-child(7) {
  align-content: center;
  gap: 6px;
}

.gj-customers .table-row > :nth-child(8) {
  display: flex;
  justify-content: flex-end;
}

.gj-customers .gj-customer-action-wrap {
  align-items: center;
  display: flex;
  justify-content: flex-end;
}

.gj-customers .gj-customer-assigned {
  align-items: center;
  color: #475467;
  display: inline-flex;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.gj-customers .td-docs {
  align-items: flex-start;
}

.gj-customers .gj-customer-row-compact .td-docs,
.gj-customers .gj-customer-row-compact .gj-customer-cell-stack .badge {
  justify-self: start;
}

.gj-customers .btn.btn-sm {
  min-height: 34px;
  padding: 6px 10px;
}

.gj-customer-modal,
.gj-lightbox {
  background: rgba(18, 25, 38, 0.56);
  inset: 0;
  padding: 24px 12px;
  position: fixed;
  z-index: 1090;
}

.gj-customer-modal {
  align-items: flex-start;
  justify-content: center;
  overflow: auto;
}

.gj-customer-modal .panel {
  background: #fff;
  border: 1px solid #e6eaf2;
  border-radius: 20px;
  max-width: 1180px;
  overflow: hidden;
  width: min(1180px, 96vw);
}

.gj-customer-modal .panel-head,
.gj-customer-modal .panel-foot {
  align-items: center;
  background: #fafbff;
  border-bottom: 1px solid #edf0f5;
  display: flex;
  justify-content: space-between;
  padding: 16px 18px;
}

.gj-customer-modal .panel-foot {
  border-bottom: 0;
  border-top: 1px solid #edf0f5;
  justify-content: flex-end;
}

.gj-customers .gj-customer-modal-title {
  display: grid;
  gap: 4px;
}

.gj-customers .gj-customer-modal-title strong {
  color: #202939;
  font-size: 16px;
  font-weight: 800;
}

.gj-customers .gj-customer-modal-title span {
  color: #667085;
  font-size: 12px;
}

.gj-customer-modal .panel-body {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.2fr 1fr;
  padding: 18px;
}

.gj-customer-modal .sec {
  background: #ffffff;
  border: 1px solid #e7ebf3;
  border-radius: 16px;
  display: grid;
  gap: 12px;
  padding: 16px;
}

.gj-customer-modal .sec-title {
  color: #202939;
  font-size: 14px;
  font-weight: 800;
}

.gj-customer-modal .span2 {
  grid-column: 1 / -1;
}

.gj-customer-modal .grid-2,
.gj-customer-modal .grid-4,
.gj-customers .doc-grid {
  display: grid;
  gap: 10px;
}

.gj-customer-modal .grid-2,
.gj-customers .doc-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gj-customer-modal .grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gj-customer-modal .f-row {
  display: grid;
  gap: 6px;
}

.gj-customer-modal .f-row label,
.gj-customers .meta-row .lab {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
}

.gj-customer-modal .f-row .static,
.gj-customers .meta-row .val {
  color: #202939;
  font-size: 13px;
  font-weight: 600;
}

.gj-customer-modal .f-row input,
.gj-customer-modal .f-row select,
.gj-customer-modal .f-row textarea {
  border: 1px solid #d7deea;
  border-radius: 12px;
  box-shadow: none;
  min-height: 44px;
  padding: 10px 12px;
}

.gj-customer-modal .f-row textarea {
  min-height: 94px;
}

.gj-customer-modal .f-row input:focus,
.gj-customer-modal .f-row select:focus,
.gj-customer-modal .f-row textarea:focus {
  border-color: #8b7dff;
  box-shadow: 0 0 0 4px rgba(114, 103, 239, 0.12);
}

.gj-customers .doc-card {
  background: #ffffff;
  border: 1px solid #e7ebf3;
  border-radius: 16px;
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.gj-customers .doc-card .card-head,
.gj-customers .doc-card .card-foot {
  background: #fafbff;
  border-bottom: 1px solid #edf0f5;
  padding: 12px 14px;
}

.gj-customers .doc-card .card-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.gj-customers .doc-card .card-foot {
  border-bottom: 0;
  border-top: 1px solid #edf0f5;
  display: grid;
  gap: 8px;
}

.gj-customers .preview-frame {
  align-items: center;
  background: #f8faff;
  border: 1px dashed #d7deea;
  border-radius: 16px;
  display: flex;
  justify-content: center;
  min-height: 220px;
  padding: 14px;
}

.gj-customers .doc-thumb {
  background: #fff;
  border: 1px solid #e7eaee;
  border-radius: 12px;
  cursor: zoom-in;
  max-height: 200px;
  object-fit: contain;
  padding: 8px;
  width: 100%;
}

.gj-customers .doc-badge {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
}

.gj-lightbox {
  align-items: center;
  cursor: zoom-out;
  justify-content: center;
}

.gj-lightbox img {
  background: #fff;
  border-radius: 16px;
  max-height: 92vh;
  max-width: 92vw;
}

.gj-customers .tl-item {
  border-bottom: 1px solid #edf0f5;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 8px 0;
}

.gj-customers .tl-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.gj-customers .tl-label {
  color: #344054;
  font-size: 13px;
  font-weight: 600;
}

.gj-customers .tl-time {
  color: #98a2b3;
  font-size: 11px;
  text-align: right;
}

@media (max-width: 1399.98px) {
  .gj-customers .gj-customer-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gj-customers .gj-customer-toolbar {
    grid-template-columns: minmax(260px, 2fr) repeat(2, minmax(150px, 1fr));
  }

  .gj-customers .table-head,
  .gj-customers .table-row {
    grid-template-columns: minmax(190px, 2fr) minmax(120px, 1.2fr) minmax(56px, 0.55fr) minmax(144px, 1.1fr) minmax(142px, 1.18fr) minmax(118px, 0.92fr) minmax(104px, 0.92fr) minmax(88px, 0.72fr);
  }
}

@media (max-width: 1199.98px) {
  .gj-customers .table-head,
  .gj-customers .table-row {
    grid-template-columns: minmax(180px, 1.9fr) minmax(124px, 1.25fr) minmax(50px, 0.55fr) minmax(128px, 1.05fr) minmax(138px, 1.1fr) minmax(104px, 0.9fr) minmax(98px, 0.88fr) minmax(82px, 0.7fr);
  }

  .gj-customer-modal .panel-body {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991.98px) {
  .gj-customers .gj-customer-hero .card-body,
  .gj-customers .gj-customer-card-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .gj-customers .gj-customer-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gj-customers .gj-customer-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gj-customers .gj-customer-grid {
    padding: 10px;
  }

  .gj-customer-modal .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .gj-customers {
    gap: 16px;
  }

  .gj-customers .gj-customer-hero .card-body,
  .gj-customers .gj-customer-toolbar,
  .gj-customers .gj-customer-card-header,
  .gj-customer-modal .panel-body,
  .gj-customer-modal .panel-head,
  .gj-customer-modal .panel-foot {
    padding: 16px;
  }

  .gj-customers .gj-customer-kpi-grid,
  .gj-customers .gj-customer-toolbar,
  .gj-customer-modal .grid-2,
  .gj-customer-modal .grid-4,
  .gj-customers .doc-grid {
    grid-template-columns: 1fr;
  }

  .gj-customers .table-head {
    display: none;
  }

  .gj-customers .table-row {
    border-top: 0;
    border-bottom: 1px solid #edf0f5;
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .gj-customers .table-row > div {
    display: grid;
    gap: 6px;
  }

  .gj-customers .table-row > :nth-child(8) {
    justify-content: flex-start;
  }

  .gj-customers .table-foot {
    text-align: left;
  }
}

.gj-forms-create {
  display: grid;
  gap: 16px;
}

.gj-forms-create .forms-layout {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
}

.gj-forms-create .preview-form,
.gj-forms-create #previewFields {
  display: grid;
  gap: 12px;
}

.gj-forms-create .preview-title {
  color: #202939;
  font-size: 18px;
  font-weight: 800;
}

.gj-forms-create .preview-subtitle,
.gj-forms-create .form-section-title {
  color: #697586;
  font-size: 12px;
}

.gj-forms-create .form-section-title {
  border-top: 1px solid #e7eaee;
  font-weight: 800;
  margin-top: 8px;
  padding-top: 10px;
  text-transform: uppercase;
}

.gj-forms-create .public-card,
.gj-forms-create .field-block {
  border: 1px solid #e7eaee;
  border-radius: 8px;
  background: #fff;
  padding: 14px;
}

.gj-forms-create .fields-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gj-forms-create .field-block {
  display: grid;
  gap: 10px;
}

.gj-forms-create .field-block.dragging {
  opacity: 0.6;
}

.gj-forms-create .field-head,
.gj-forms-create .field-controls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.gj-forms-create .field-title {
  color: #202939;
  font-weight: 700;
}

.gj-forms-create .drag-handle {
  align-items: center;
  background: #f5f7fb;
  border: 1px solid #e7eaee;
  border-radius: 8px;
  cursor: grab;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.gj-forms-create .input-wrap {
  position: relative;
}

.gj-forms-create .input-wrap .icon {
  color: #697586;
  left: 12px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.gj-forms-create .input-wrap .icon svg {
  height: 18px;
  width: 18px;
}

.gj-forms-create .input-wrap input,
.gj-forms-create .input-wrap select,
.gj-forms-create .input-wrap textarea {
  border: 1px solid #e7eaee;
  border-radius: 8px;
  min-height: 44px;
  padding: 8px 12px 8px 42px;
  width: 100%;
}

.gj-forms-create .input-wrap textarea {
  min-height: 88px;
}

@media (max-width: 1180px) {
  .gj-forms-create .forms-layout,
  .gj-forms-create .fields-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1024px) {
  .gj-dashboard .dash-row-2,
  .gj-dashboard .kpi-row {
    grid-template-columns: 1fr;
  }

  .gj-dashboard .stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  .gj-dashboard .desktop-only { display: none !important; }
  .gj-dashboard .mobile-only { display: block; }
  .gj-dashboard .count-grid,
  .gj-dashboard .stat-grid {
    grid-template-columns: 1fr;
  }
  .gj-dashboard .m-perf-list,
  .gj-dashboard .m-trip-list {
    display: grid;
    gap: 10px;
  }
  .gj-dashboard .gj-mobile-list-card {
    padding: 12px;
  }
  .gj-dashboard .m-perf-hd,
  .gj-dashboard .m-row {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 10px;
  }
  .gj-dashboard .m-perf-body {
    display: grid;
    gap: 8px;
    margin-top: 10px;
  }
}

body.gj-admin-theme {
  --bg: #f5f7fb;
  --shell: #f5f7fb;
  --panel: #ffffff;
  --white: #ffffff;
  --line: #e7eaee;
  --text: #202939;
  --muted: #697586;
  --muted-2: #9aa4b2;
  --radius-lg: 8px;
  --radius-md: 8px;
  --radius-sm: 6px;
}

.gj-admin-theme .page,
.gj-admin-theme .app-shell {
  display: block;
  min-height: 100vh;
  background: #f5f7fb;
  padding: 0;
}

.gj-admin-theme main.pc-container {
  position: relative;
  top: 70px;
  display: block;
  min-height: calc(100vh - 70px);
  margin-left: 280px;
  padding: 0;
  min-width: 0;
}

.gj-admin-theme main.pc-container .pc-content {
  padding: 20px 40px 40px;
}

.gj-admin-theme .pc-header {
  left: 280px;
}

.gj-admin-theme .pc-sidebar .m-header {
  min-height: 70px;
}

.gj-admin-theme .pc-sidebar .b-brand {
  min-width: 0;
}

.gj-admin-theme .pc-sidebar .logo-lg {
  max-width: 170px;
  max-height: 42px;
  object-fit: contain;
}

.gj-admin-theme .pc-sidebar .brand-fallback {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gj-admin-theme .pc-sidebar .pc-badge,
.gj-admin-theme .pc-header .pc-h-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}

.gj-admin-theme .pc-sidebar .pc-link {
  letter-spacing: 0;
}

.gj-admin-theme .pc-sidebar .pc-mtext {
  min-width: 0;
}

.gj-admin-theme .pc-sidebar .pc-item.pc-caption {
  padding: 12px 16px 6px;
}

.gj-admin-theme .pc-sidebar .pc-item.pc-caption label {
  color: #98a2b3;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.gj-admin-theme .pc-header .header-wrapper {
  align-items: center;
}

.gj-admin-theme .pc-head-title {
  display: grid;
  gap: 2px;
}

.gj-admin-theme .pc-head-title strong {
  color: #202939;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}

.gj-admin-theme .pc-head-title span {
  color: #697586;
  font-size: 12px;
}

.gj-admin-theme .pc-header .pc-head-link {
  align-items: center;
  display: inline-flex;
  gap: 10px;
}

.gj-admin-theme .gj-header-theme-switch .pc-head-link {
  justify-content: center;
  min-width: 42px;
}

.gj-admin-theme .gj-header-theme-switch .dropdown-menu {
  min-width: 190px;
}

.gj-admin-theme .gj-theme-mode-option {
  background: transparent;
  border: 0;
  text-align: left;
  width: 100%;
}

.gj-admin-theme .gj-theme-mode-option.active {
  background: #f5f3ff;
  color: #7267ef;
}

.gj-admin-theme .gj-theme-mode-option.active i {
  color: #7267ef;
}

.gj-admin-theme .gj-header-theme-icon {
  font-size: 20px;
}

.gj-admin-theme .pc-header .dropdown-user-profile {
  min-width: 280px;
}

.gj-admin-theme .pc-header .dropdown-user-profile .dropdown-body {
  padding: 0;
}

.gj-admin-theme .pc-header .dropdown-user-profile .list-group-item {
  border-color: #eef1f5;
}

.gj-admin-theme .pc-header .dropdown-user-profile .badge.bg-primary {
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.gj-admin-theme .pc-header .header-user-profile .pc-head-link > span {
  min-width: 0;
}

.gj-admin-theme .pc-header .header-user-profile .pc-head-link .user-name {
  font-weight: 700;
}

.gj-admin-theme .user-avtar {
  object-fit: cover;
}

.gj-admin-theme .board-area,
.gj-admin-theme .page-wrap,
.gj-admin-theme .wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.gj-admin-theme .task-card,
.gj-admin-theme .panel,
.gj-admin-theme .table-card,
.gj-admin-theme .leads-filter-panel,
.gj-admin-theme .leads-summary-panel,
.gj-admin-theme .ts-card,
.gj-admin-theme .kpi,
.gj-admin-theme .kpi-card,
.gj-admin-theme .sum-card,
.gj-admin-theme .m-card,
.gj-admin-theme .m-filter,
.gj-admin-theme .m-sum .card {
  border-color: #e7eaee !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(27, 46, 94, 0.06);
}

.gj-admin-theme .btn,
.gj-admin-theme .ts-btn,
.gj-admin-theme .wa-btn,
.gj-admin-theme .mini-link,
.gj-admin-theme .icon-btn {
  border-radius: 6px !important;
}

.gj-admin-theme input,
.gj-admin-theme select,
.gj-admin-theme textarea,
.gj-admin-theme .form-control {
  border-radius: 6px !important;
}

.gj-admin-theme .pc-menu-overlay {
  z-index: 1024;
}

@media (max-width: 1024px) {
  .gj-admin-theme .pc-header {
    left: 0;
  }

  .gj-admin-theme main.pc-container {
    top: 70px;
    margin-left: 0;
    padding: 0;
  }

  .gj-admin-theme main.pc-container .pc-content {
    padding: 18px 15px 32px;
  }
}

@media (max-width: 575.98px) {
  .gj-admin-theme main.pc-container {
    top: 58px;
    padding: 0;
  }

  .gj-admin-theme main.pc-container .pc-content {
    padding: 15px;
  }

  .gj-admin-theme .pc-head-title span {
    display: none;
  }

  .gj-admin-theme .gj-header-theme-switch .dropdown-menu,
  .gj-admin-theme .pc-header .dropdown-user-profile {
    min-width: 240px;
  }
}

/* GoJannah dashboard premium helpers */
.gj-dashboard .card {
  border-color: #e7eaee;
  border-radius: 8px;
}

.gj-dashboard .gj-command-card {
  background: linear-gradient(135deg, #ffffff 0%, #f5f7ff 58%, #eefaf4 100%);
  border: 1px solid #e0e7ff;
  box-shadow: 0 16px 42px rgba(27, 46, 94, 0.08);
  overflow: hidden;
}

.gj-dashboard .gj-command-card .card-body {
  display: grid;
  gap: 18px;
  padding: 24px;
}

.gj-dashboard .gj-command-main {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.gj-dashboard .gj-command-card h2 {
  color: #202939;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 0;
}

.gj-dashboard .gj-command-clock {
  display: grid;
  gap: 10px;
  min-width: 240px;
}

.gj-dashboard .gj-time-chip {
  align-items: center;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid #e7eaee;
  border-radius: 8px;
  display: grid;
  gap: 4px;
  padding: 12px 14px;
}

.gj-dashboard .gj-time-chip span {
  color: #697586;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.gj-dashboard .gj-time-chip strong {
  color: #202939;
  font-size: 14px;
  font-weight: 800;
}

.gj-dashboard .gj-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gj-dashboard .kpi-row {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.gj-dashboard .statistics-card-1.gj-kpi-card {
  min-height: 148px;
  overflow: hidden;
  padding: 0;
}

.gj-dashboard .statistics-card-1.gj-kpi-card .card-body {
  display: grid;
  gap: 14px;
  height: 100%;
  padding: 18px;
}

.gj-dashboard .gj-kpi-link {
  color: #5546cf;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.gj-dashboard .gj-kpi-purple { background: linear-gradient(135deg, #eefcff, #ffffff); }

.gj-dashboard .gj-funnel-list,
.gj-dashboard .gj-timeline,
.gj-dashboard .gj-quick-grid {
  display: grid;
  gap: 14px;
}

.gj-dashboard .gj-funnel-item {
  background: #f8fafc;
  border: 1px solid #eef1f5;
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 14px;
}

.gj-dashboard .gj-funnel-meta {
  align-items: center;
  color: #202939;
  display: flex;
  font-size: 13px;
  font-weight: 700;
  justify-content: space-between;
}

.gj-dashboard .gj-progress {
  background: #edf1f7;
  border-radius: 999px;
  height: 7px;
  overflow: hidden;
}

.gj-dashboard .gj-progress .progress-bar {
  border-radius: 999px;
}

.gj-dashboard .gj-action-list .list-group-item,
.gj-dashboard .gj-recent-list .list-group-item {
  border-color: #eef1f5;
}

.gj-dashboard .gj-traffic-card {
  display: grid;
  gap: 4px;
}

.gj-dashboard .perf-head,
.gj-dashboard .perf-row {
  grid-template-columns: 1.8fr 0.75fr 0.75fr 1.1fr 1fr;
}

.gj-dashboard .gj-timeline {
  position: relative;
}

.gj-dashboard .gj-timeline-item {
  display: grid;
  gap: 12px;
  grid-template-columns: 34px minmax(0, 1fr);
}

.gj-dashboard .gj-timeline-dot {
  align-items: center;
  background: #eef2ff;
  border: 1px solid #dfe5ff;
  border-radius: 50%;
  color: #5546cf;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.gj-dashboard .gj-timeline-content {
  background: #fff;
  border: 1px solid #eef1f5;
  border-radius: 8px;
  padding: 12px;
}

.gj-dashboard .gj-trip-date {
  color: #697586;
  font-size: 12px;
  font-weight: 700;
  margin-top: 10px;
}

.gj-dashboard .poster-scroll {
  grid-auto-columns: minmax(260px, 44%);
}

.gj-dashboard .gj-poster-card {
  box-shadow: 0 8px 24px rgba(27, 46, 94, 0.06);
}

.gj-dashboard .gj-poster-thumb {
  align-items: center;
  background: #f5f7fb;
  display: flex;
  height: 190px;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

.gj-dashboard .gj-poster-thumb img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.gj-dashboard .gj-poster-thumb .badge {
  position: absolute;
  right: 10px;
  top: 10px;
}

.gj-dashboard .gj-poster-card .meta {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto;
}

.gj-dashboard .gj-empty-state {
  align-items: center;
  background: #f8fafc;
  border: 1px dashed #d9dee7;
  border-radius: 8px;
  display: flex;
  gap: 12px;
  padding: 16px;
}

.gj-dashboard .gj-quick-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gj-dashboard .gj-quick-action {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #eef1f5;
  border-radius: 8px;
  color: #202939;
  display: flex;
  gap: 10px;
  min-height: 64px;
  padding: 12px;
  text-decoration: none;
}

.gj-dashboard .gj-quick-action:hover {
  border-color: #7267ef;
  color: #5546cf;
}

.gj-dashboard .gj-local-time.d-grid {
  display: grid !important;
}
.gj-dashboard .gj-w-0 { width: 0%; }
.gj-dashboard .gj-w-5 { width: 5%; }
.gj-dashboard .gj-w-10 { width: 10%; }
.gj-dashboard .gj-w-15 { width: 15%; }
.gj-dashboard .gj-w-20 { width: 20%; }
.gj-dashboard .gj-w-25 { width: 25%; }
.gj-dashboard .gj-w-30 { width: 30%; }
.gj-dashboard .gj-w-35 { width: 35%; }
.gj-dashboard .gj-w-40 { width: 40%; }
.gj-dashboard .gj-w-45 { width: 45%; }
.gj-dashboard .gj-w-50 { width: 50%; }
.gj-dashboard .gj-w-55 { width: 55%; }
.gj-dashboard .gj-w-60 { width: 60%; }
.gj-dashboard .gj-w-65 { width: 65%; }
.gj-dashboard .gj-w-70 { width: 70%; }
.gj-dashboard .gj-w-75 { width: 75%; }
.gj-dashboard .gj-w-80 { width: 80%; }
.gj-dashboard .gj-w-85 { width: 85%; }
.gj-dashboard .gj-w-90 { width: 90%; }
.gj-dashboard .gj-w-95 { width: 95%; }
.gj-dashboard .gj-w-100 { width: 100%; }

@media (max-width: 1024px) {
  .gj-dashboard .gj-command-main,
  .gj-dashboard .kpi-row,
  .gj-dashboard .gj-bottom-row {
    grid-template-columns: 1fr;
  }

  .gj-dashboard .gj-command-clock {
    min-width: 0;
  }

  .gj-dashboard .poster-scroll {
    grid-auto-columns: minmax(240px, 72%);
  }
}

@media (max-width: 760px) {
  .gj-dashboard .gj-command-card .card-body {
    padding: 18px;
  }

  .gj-dashboard .gj-command-card h2 {
    font-size: 22px;
  }

  .gj-dashboard .gj-command-actions .btn,
  .gj-dashboard .gj-quick-action {
    width: 100%;
  }

  .gj-dashboard .gj-quick-grid,
  .gj-dashboard .stat-grid,
  .gj-dashboard .stat-grid-3 {
    grid-template-columns: 1fr;
  }

  .gj-dashboard .poster-scroll {
    grid-auto-columns: minmax(230px, 88%);
  }

  .gj-dashboard .gj-poster-card .meta,
  .gj-dashboard .gj-timeline-item {
    grid-template-columns: 1fr;
  }

  .gj-dashboard .gj-timeline-dot {
    display: none;
  }
}

/* DashboardKit project.html alignment */
.gj-dashboard .gj-project-ticket-row {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.gj-dashboard .proj-t-card {
  border: 1px solid #e7eaee;
  box-shadow: 0 8px 24px rgba(27, 46, 94, 0.06);
  overflow: hidden;
  position: relative;
}

.gj-dashboard .proj-t-card .card-body {
  padding: 18px;
  position: relative;
}

.gj-dashboard .proj-t-card .pt-badge {
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  margin: 0;
  padding: 5px 9px;
  position: absolute;
  right: 16px;
  top: 16px;
}

.gj-dashboard .proj-t-card h6 {
  letter-spacing: 0;
}

.gj-dashboard .gj-project-card-danger { background: linear-gradient(135deg, #fff, #f5f7ff); }
.gj-dashboard .gj-project-card-warning { background: linear-gradient(135deg, #fff, #fff8eb); }
.gj-dashboard .gj-project-card-success { background: linear-gradient(135deg, #fff, #effaf3); }
.gj-dashboard .gj-project-card-info { background: linear-gradient(135deg, #fff, #eefcff); }

.gj-dashboard .gj-project-todo-card .to-do-list {
  align-items: flex-start;
  border-bottom: 1px solid #eef1f5;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding-bottom: 12px;
}

.gj-dashboard .gj-project-todo-card .to-do-list:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.gj-dashboard .gj-project-todo-card .form-check-input:disabled {
  opacity: 0.85;
}

.gj-dashboard .gj-project-todo-card .form-check-label {
  color: #202939;
  font-weight: 700;
}

.gj-dashboard .gj-trip-task-card .task-list {
  margin-bottom: 16px;
}

.gj-dashboard .gj-trip-task-list li {
  border-left: 1px solid #e7eaee;
  margin-left: 10px;
  padding: 0 0 18px 24px;
  position: relative;
}

.gj-dashboard .gj-trip-task-list li:last-child {
  padding-bottom: 0;
}

.gj-dashboard .gj-trip-task-list .task-icon {
  border-radius: 50%;
  height: 12px;
  left: -7px;
  position: absolute;
  top: 4px;
  width: 12px;
}

.gj-settings .gj-tour-leader-avatar {
  align-items: center;
  background: #f5f7fb;
  border: 1px solid #e7eaee;
  border-radius: 50%;
  color: #697586;
  display: inline-flex;
  height: 42px;
  justify-content: center;
  overflow: hidden;
  width: 42px;
}

.gj-settings .gj-tour-leader-avatar img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.gj-settings .gj-tour-leader-edit-panel {
  display: none;
}

.gj-settings .gj-tour-leader-edit-panel.open {
  display: table-row;
}

.gj-settings .gj-tour-leader-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.gj-departure-page .gj-departure-tour-leader-wrap {
  align-items: center;
  display: flex;
  gap: 8px;
  min-width: 0;
}

.gj-departure-page .gj-departure-tour-leader-name {
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gj-home-primary-bg { background-color: var(--gj-primary, #2b4c7d); }
.gj-home-primary-text { color: var(--gj-primary, #2b4c7d); }
.gj-home-ring { box-shadow: 0 0 0 1px rgba(17, 24, 39, 0.08); }
.gj-home-soft-border { border: 1px solid rgba(17, 24, 39, 0.08); }
.gj-home-soft-muted { color: rgba(17, 24, 39, 0.6); }
.gj-home-page { background: #ffffff; }
.gj-home-section { padding: 40px 16px; }
@media (min-width: 768px) { .gj-home-section { padding: 56px 24px; } }
.gj-home-container { max-width: 1180px; margin: 0 auto; }
.gj-home-pad-bottom { padding-bottom: 0; }
.gj-home-sticky-nav { padding-bottom: 0; }
.gj-home-line-clamp-4 {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.gj-home-header {
  background: var(--gj-primary, #2b4c7d);
  border-bottom: 0;
  color: #ffffff;
}
.gj-home-header img {
  opacity: 1;
}
.gj-home-header a {
  color: inherit;
  text-decoration: none;
}
.gj-home-header-cta {
  align-items: center;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 12px;
  color: #ffffff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  height: 36px;
  padding: 0 14px;
}
.gj-home-header-cta:hover {
  background: rgba(255, 255, 255, 0.2);
}

.gj-home-slider-section {
  background: #ffffff;
  padding: 0;
}
.gj-home-hero-full {
  max-width: none;
  width: 100%;
}
.gj-hero-slider { position: relative; overflow: hidden; border-radius: 18px; }
.gj-home-slider-shell {
  background: transparent;
  border: 0;
  box-shadow: none;
}
.gj-home-hero-slide {
  height: 60vh;
  max-height: 72vh;
  min-height: 420px;
}
@media (min-width: 1024px) {
  .gj-home-hero-slide {
    height: 74vh;
    max-height: 78vh;
    min-height: 520px;
  }
}
.gj-hero-track { display: flex; transition: transform 420ms ease; will-change: transform; }
.gj-hero-slide { flex: 0 0 100%; position: relative; }
.gj-hero-slide-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gj-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55)); }
.gj-hero-dots { display:flex; gap:8px; justify-content:center; align-items:center; }
.gj-hero-dot { width: 8px; height: 8px; border-radius: 999px; background: rgba(255,255,255,.45); }
.gj-hero-dot.is-active { background: #fff; width: 18px; }
.gj-hero-arrow {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(255,255,255,.85);
  box-shadow: 0 2px 10px rgba(17,24,39,.10);
  display:flex;
  align-items:center;
  justify-content:center;
}
.gj-home-promotion-grid {
  align-items: stretch;
}
.gj-home-promotion-card {
  border: 1px solid rgba(17, 24, 39, 0.06);
  box-shadow: none;
}
.gj-home-promotion-poster-wrap {
  aspect-ratio: 3 / 4;
  background: #f8fafc;
  display: block;
  overflow: hidden;
  position: relative;
}
.gj-home-promotion-poster {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.gj-home-promo-actions {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
}
@media (min-width: 420px) {
  .gj-home-promo-actions {
    grid-template-columns: 1fr 1fr;
  }
}
.gj-home-promo-download,
.gj-home-promo-whatsapp {
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  height: 42px;
  line-height: 42px;
  padding: 0 14px;
  text-align: center;
  width: 100%;
}
.gj-home-promo-download {
  background: var(--gj-primary, #2b4c7d);
  border: 1px solid var(--gj-primary, #2b4c7d);
  color: #ffffff;
}
.gj-home-promo-whatsapp {
  align-items: center;
  background: #25d366;
  border: 1px solid #25d366;
  color: #ffffff;
  display: inline-flex;
  gap: 8px;
  justify-content: center;
}
.gj-home-promo-wa-ic {
  display: inline-flex;
  height: 18px;
  width: 18px;
}
.gj-home-promo-wa-ic svg {
  height: 18px;
  width: 18px;
}
.gj-home-team-section {
  padding-bottom: 24px;
}
.gj-home-footer {
  padding: 12px 0 24px;
}
.gj-home-footer-nav {
  border-top: 1px solid rgba(17, 24, 39, 0.08);
  padding-top: 12px;
}
.gj-home-footer-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.gj-home-footer-link {
  align-items: center;
  color: #334155;
  display: flex;
  flex-direction: column;
  gap: 6px;
  justify-content: center;
  min-height: 68px;
  text-decoration: none;
}
.gj-home-footer-link:hover {
  color: #0f172a;
}
.gj-home-footer-icon {
  align-items: center;
  background: #f8fafc;
  border-radius: 12px;
  color: #0f172a;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  width: 40px;
}
.gj-home-footer-icon svg {
  display: block;
  height: 20px;
  width: 20px;
}
.gj-home-footer-label {
  font-size: 12px;
  font-weight: 600;
}
.gj-home-footer-copy {
  color: rgba(17, 24, 39, 0.6);
  font-size: 12px;
  padding-top: 14px;
  text-align: center;
}
@media (min-width: 640px) {
  .gj-home-footer-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .gj-home-promotion-poster-wrap {
    aspect-ratio: 3 / 4;
  }
}
