/* Dashboard-specific styles — extends ../css/style.css */

body { background: #f2f6f7; }

.login-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.login-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 40px;
  width: 100%;
  max-width: 400px;
  box-shadow: var(--shadow);
}
.login-card img.logo { height: 42px; margin-bottom: 22px; }
.login-card h2 { font-size: 21px; margin-bottom: 18px; }
.login-card .btn { width: 100%; text-align: center; }
#login-error { color: var(--danger); font-size: 13.5px; margin-top: 12px; display: none; }

.app-shell { display: none; min-height: 100vh; }

/* Modal headings */
.modal h4 { font-size: 16.5px; border-bottom: 1px solid var(--line); padding-bottom: 8px; }

/* Compact status badges (generated via status.replace(/\s+/g,'')) */
.badge-NotRequired { background: #e8f0ff; color: #2456b3; }
.badge-NotStarted { background: #eef1f3; color: #5c6c73; }
.badge-DocumentsSubmitted { background: #fff3d9; color: #96630a; }
.badge-UnderReview { background: #f3e9ff; color: #6b3fa0; }
.badge-VisaArrived { background: #e2f7ec; color: #147a4d; }
.badge-NotEligible { background: #eef1f3; color: #5c6c73; }
.badge-PendingDoc { background: #fff3d9; color: #96630a; }
.badge-ApprovedDoc { background: #e2f7ec; color: #147a4d; }
.badge-RejectedDoc { background: #fbe9e7; color: #a33327; }
.badge-Yes { background: #e2f7ec; color: #147a4d; }
.badge-No { background: #eef1f3; color: #5c6c73; }
.badge-Passport { background: #e8f0ff; color: #2456b3; }
.badge-NationalIDCard { background: #e8f0ff; color: #2456b3; }
.badge-TravelDetails { background: #e8f0ff; color: #2456b3; }
.badge-Visa { background: #f3e9ff; color: #6b3fa0; }
.badge-Itinerary { background: #fff3d9; color: #96630a; }
.badge-HotelBooking { background: #fff3d9; color: #96630a; }
.badge-PickupDetails { background: #fff3d9; color: #96630a; }
.badge-PaymentReceipt { background: #e2f7ec; color: #147a4d; }
.badge-Certificate { background: #e2f7ec; color: #147a4d; }
.badge-Other { background: #eef1f3; color: #5c6c73; }

/* Small icon chip used in tables (visa/hotel/pickup indicators) */
.chip {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; border-radius: 6px; font-size: 12px; font-weight: 800;
}
.chip.on { background: var(--teal-soft); color: var(--teal-dark); }
.chip.off { background: var(--card); color: var(--gray-light); }

/* Overview KPI tweaks */
.stat-card .v small { font-size: 15px; color: var(--gray-light); }

/* Timeline items inside visa panel */
.mini-row { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px dashed var(--line); font-size: 14px; }
.mini-row:last-child { border-bottom: none; }
.mini-row .k { color: var(--gray); }
.mini-row .v { font-weight: 700; color: var(--navy); }

/* Inline status select inside tables */
select.inline-status { padding: 4px 6px; font-size: 12.5px; border: 1.5px solid var(--line); border-radius: 6px; font-family: inherit; }

@media (max-width: 700px) {
  .detail-grid { grid-template-columns: 1fr; }
  table.data-table { display: block; overflow-x: auto; white-space: nowrap; }
}
