/* LifePulse admin theme on top of Jazzmin / AdminLTE. */
:root {
  --lp-red: #dc2626;
  --lp-red-dark: #991b1b;
  --lp-ink: #111827;
  --lp-muted: #6b7280;
  --lp-line: #e5e7eb;
  --lp-bg: #f5f6f8;
}

body { color: var(--lp-ink); font-feature-settings: "tnum"; }
.content-wrapper { background: var(--lp-bg); }

/* Navbar and brand */
.main-header.navbar { border-bottom: 1px solid var(--lp-line); box-shadow: none; }
.brand-link { border-bottom: 1px solid rgba(255,255,255,.08) !important; }
.brand-link .brand-image { box-shadow: none !important; background: #fff; padding: 2px; }
.main-sidebar { background: #18181b !important; }
.nav-sidebar .nav-link { border-radius: 6px; margin: 1px 6px; }
.nav-sidebar > .nav-item > .nav-link.active,
.nav-sidebar .nav-treeview .nav-link.active { background: var(--lp-red) !important; color: #fff !important; box-shadow: none; }

/* Cards, tables, forms */
.card { border: 1px solid var(--lp-line); border-radius: 8px; box-shadow: none; }
.card-header { background: #fff; border-bottom: 1px solid var(--lp-line); }
.card-header h5, .card-title { font-weight: 650; }
#result_list { background: #fff; }
#result_list thead th {
  background: #f9fafb; color: var(--lp-muted); font-size: 11px; font-weight: 700;
  letter-spacing: .03em; text-transform: uppercase; border-bottom: 1px solid var(--lp-line) !important;
  white-space: nowrap;
}
#result_list td { vertical-align: middle; border-top: 1px solid #eef0f3; }
#result_list tbody tr:hover { background: #fef2f2; }
#result_list a { color: var(--lp-red-dark); font-weight: 600; }
.form-control, .custom-select { border-radius: 6px; }
.form-control:focus { border-color: var(--lp-red); box-shadow: 0 0 0 .15rem rgba(220,38,38,.15); }
.btn { border-radius: 6px; }
.btn-primary, .btn-success { background: var(--lp-red); border-color: var(--lp-red); }
.btn-primary:hover, .btn-success:hover { background: var(--lp-red-dark); border-color: var(--lp-red-dark); }
.page-item.active .page-link { background: var(--lp-red); border-color: var(--lp-red); }

/* Login */
.login-page { background: linear-gradient(160deg, #fff 0%, #fef2f2 100%); }
.login-box .card { border-top: 3px solid var(--lp-red); }
.login-logo img { max-height: 72px; }

/* Status pills used by list_display (lifepulse/admin_badges.py) */
.lp-pill {
  display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11px;
  font-weight: 700; line-height: 1.6; white-space: nowrap; background: #f3f4f6; color: #374151;
}
.lp-good { background: #dcfce7; color: #166534; }
.lp-warn { background: #fef3c7; color: #92400e; }
.lp-info { background: #dbeafe; color: #1d4ed8; }
.lp-bad  { background: #fee2e2; color: #991b1b; }
.lp-blood { background: var(--lp-red); color: #fff; min-width: 34px; text-align: center; }

/* Dashboard KPI tiles (templates/admin/index.html) */
.lp-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 18px; }
.lp-kpi {
  display: block; padding: 14px 16px; background: #fff; border: 1px solid var(--lp-line);
  border-left: 4px solid var(--lp-red); border-radius: 8px; color: inherit !important; text-decoration: none !important;
}
.lp-kpi:hover { box-shadow: 0 4px 14px rgba(17,24,39,.08); }
.lp-kpi.good { border-left-color: #16a34a; }
.lp-kpi.warn { border-left-color: #f59e0b; }
.lp-kpi.info { border-left-color: #2563eb; }
.lp-kpi-label { color: var(--lp-muted); font-size: 11px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.lp-kpi-value { margin-top: 6px; font-size: 26px; font-weight: 750; line-height: 1; }
.lp-kpi-note { margin-top: 6px; color: var(--lp-muted); font-size: 12px; }
