/* ThriftyCab Admin — global theme
   Palette: Asphalt navy #101826, Meter amber #F5A623, Signal teal #1BB68A,
   Fog #F3F5F8, Ink #1E2733, Line grey #E4E9F0 */

:root {
  --tc-navy:  #101826;
  --tc-navy-2:#1A2536;
  --tc-amber: #F5A623;
  --tc-teal:  #1BB68A;
  --tc-red:   #E05A4E;
  --tc-fog:   #F3F5F8;
  --tc-ink:   #1E2733;
  --tc-line:  #E4E9F0;
}

body { background: var(--tc-fog); color: var(--tc-ink); font-family: "Plus Jakarta Sans", system-ui, sans-serif; }

/* ---- Sidebar ---- */
.tc-sidebar {
  width: 248px; min-height: 100vh; position: fixed; top: 0; left: 0; z-index: 1030;
  background: var(--tc-navy); color: #B9C3D3; display: flex; flex-direction: column;
}
.tc-brand { padding: 1.25rem 1.25rem 1rem; color: #fff; font-weight: 800; font-size: 1.15rem; letter-spacing: .3px; }
.tc-brand .badge-cab { background: var(--tc-amber); color: #101826; border-radius: 6px; padding: 2px 8px; font-size: .7rem; margin-left: 6px; vertical-align: middle; }
/* route-line signature: dashed line under brand */
.tc-route { border: 0; border-top: 2px dashed rgba(245,166,35,.55); margin: 0 1.25rem 0.75rem; opacity: 1; }

.tc-nav a {
  display: flex; align-items: center; gap: .65rem; padding: .6rem 1.25rem;
  color: #B9C3D3; text-decoration: none; font-size: .92rem; border-left: 3px solid transparent;
}
.tc-nav a:hover { color: #fff; background: var(--tc-navy-2); }
.tc-nav a.active { color: #fff; background: var(--tc-navy-2); border-left-color: var(--tc-amber); }
.tc-nav .nav-label { padding: 1rem 1.25rem .35rem; font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; color: #6C7A90; }

/* ---- Main ---- */
.tc-main { margin-left: 248px; }
.tc-topbar { background: #fff; border-bottom: 1px solid var(--tc-line); padding: .75rem 1.5rem; }
.tc-content { padding: 1.5rem; }

/* ---- Cards / stats ---- */
.card { border: 1px solid var(--tc-line); border-radius: 12px; box-shadow: none; }
.stat-card .stat-label { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: #6C7A90; }
.stat-card .stat-value { font-size: 1.5rem; font-weight: 800; }
.stat-card .stat-icon {
  width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; font-size: 1.15rem;
}
.icon-amber { background: rgba(245,166,35,.14); color: #B97A0A; }
.icon-teal  { background: rgba(27,182,138,.14); color: var(--tc-teal); }
.icon-navy  { background: rgba(16,24,38,.08);  color: var(--tc-navy); }
.icon-red   { background: rgba(224,90,78,.12); color: var(--tc-red); }

/* ---- Tables ---- */
.table thead th { font-size: .75rem; text-transform: uppercase; letter-spacing: .07em; color: #6C7A90; border-bottom-width: 1px; }
.table td { vertical-align: middle; }

/* ---- Status badges ---- */
.badge-status { border-radius: 999px; font-weight: 600; padding: .35em .8em; font-size: .72rem; }
.st-pending    { background:#FFF4DE; color:#B97A0A; }
.st-confirmed  { background:#E3F0FF; color:#1E5FBF; }
.st-ongoing    { background:#EDE7FF; color:#6941C6; }
.st-completed  { background:#E1F7EF; color:#0E8A66; }
.st-cancelled  { background:#FDE8E6; color:#C0392B; }
.st-active, .st-approved, .st-available, .st-paid, .st-resolved { background:#E1F7EF; color:#0E8A66; }
.st-blocked, .st-rejected, .st-failed { background:#FDE8E6; color:#C0392B; }
.st-inactive, .st-maintenance, .st-closed { background:#EEF1F5; color:#5B6472; }
.st-submitted, .st-open, .st-booked, .st-in_progress { background:#FFF4DE; color:#B97A0A; }

.btn-tc { background: var(--tc-amber); color: #101826; font-weight: 700; border: none; }
.btn-tc:hover { background: #E29716; color: #101826; }

@media (max-width: 991px) {
  .tc-sidebar { left: -248px; transition: left .25s; }
  .tc-sidebar.show { left: 0; }
  .tc-main { margin-left: 0; }
}

/* Rent-based booking statuses */
.st-open      { background:#E3F0FF; color:#1E5FBF; }
.st-partial   { background:#FFF4DE; color:#B97A0A; }
.st-filled    { background:#EDE7FF; color:#6941C6; }
.st-expired   { background:#EEF1F5; color:#5B6472; }
.st-accepted  { background:#E3F0FF; color:#1E5FBF; }
