:root {
  --tblr-primary: #198754;
  --tblr-primary-rgb: 25, 135, 84;
  --tblr-primary-darken: #14532d;
  --crm-dark: #14532d;
  --crm-bg: #f5f8f6;
  --crm-text: #212529;
  --crm-border: #dee2e6;
}

body {
  background: var(--crm-bg);
  color: var(--crm-text);
}

.navbar-vertical {
  background: var(--crm-dark) !important;
}

.navbar-vertical .navbar-brand,
.navbar-vertical .nav-link,
.navbar-vertical .nav-link-title {
  color: #fff;
}

.navbar-vertical .nav-link.active,
.navbar-vertical .nav-link:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.page {
  background: var(--crm-bg);
}

.card {
  border: 1px solid var(--crm-border);
  box-shadow: 0 1px 2px rgba(20, 83, 45, 0.04);
}

.btn-primary,
.badge.bg-primary {
  background-color: #198754 !important;
  border-color: #198754 !important;
}

.btn-primary:hover {
  background-color: #14532d !important;
  border-color: #14532d !important;
}

.form-check-input:checked {
  background-color: #198754;
  border-color: #198754;
}

.status-new { background: #e7f1ff; color: #0d6efd; }
.status-open { background: #e8f5e9; color: #198754; }
.status-pending { background: #fff3cd; color: #856404; }
.status-resolved { background: #d1e7dd; color: #0f5132; }
.status-closed { background: #e9ecef; color: #495057; }
.priority-low { background: #f1f3f5; color: #495057; }
.priority-normal { background: #e7f1ff; color: #0d6efd; }
.priority-high { background: #fff3cd; color: #856404; }
.priority-urgent { background: #f8d7da; color: #842029; }

.crm-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.2rem 0.6rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: capitalize;
}

.ticket-timeline {
  max-height: 62vh;
  overflow: auto;
}

.ticket-composer textarea {
  min-height: 120px;
}

.auth-shell {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #14532d 0%, #198754 45%, #f5f8f6 45%);
}

.auth-card {
  width: min(440px, 92vw);
}
