/* ==========================================================
   ClinicRecords Theme (AdminLTE + Bootstrap)
   Domain: clinicrecords.com
   ========================================================== */

:root{
  --cr-primary:#2563eb;   /* blue */
  --cr-accent:#22c55e;    /* green */
  --cr-dark:#0f172a;      /* navy */
  --cr-muted:#64748b;     /* slate */
  --cr-bg:#f4f6f9;        /* AdminLTE bg */
  --cr-card:#ffffff;
  --cr-border:#e5e7eb;
}

/* ---- Brand text ---- */
.cr-brand { font-weight: 800; letter-spacing: 0.2px; color: var(--cr-dark); }
.cr-dotcom { color: var(--cr-muted); font-weight: 700; }

/* ---- Main Primary color override ---- */
.btn-primary,
.badge-primary,
.bg-primary {
  background-color: var(--cr-primary) !important;
  border-color: var(--cr-primary) !important;
}

.text-primary { color: var(--cr-primary) !important; }

a { color: var(--cr-primary); }
a:hover { color: #1d4ed8; }

/* ---- AdminLTE card outline primary ---- */
.card-primary.card-outline {
  border-top: 3px solid var(--cr-primary) !important;
}

/* ---- Sidebar improvements ---- */
.main-sidebar {
  background: linear-gradient(180deg, #0b1220, #0f172a) !important;
}

.brand-link {
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

.brand-link .brand-text {
  color: #fff !important;
  font-weight: 800 !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active {
  background-color: rgba(37, 99, 235, 0.25) !important;
  color: #fff !important;
  border-left: 3px solid var(--cr-accent);
}

.sidebar-dark-primary .nav-sidebar .nav-link {
  color: rgba(255,255,255,0.85) !important;
}

.sidebar-dark-primary .nav-sidebar .nav-link:hover {
  background-color: rgba(255,255,255,0.07) !important;
  color: #fff !important;
}

/* ---- Top navbar ---- */
.main-header.navbar {
  border-bottom: 1px solid var(--cr-border) !important;
}

/* ---- Page title feel ---- */
.content-header h1,
.content-header h4,
.content h4 {
  font-weight: 800;
  color: var(--cr-dark);
}

/* ---- Cards: softer and elegant ---- */
.card {
  border-radius: 14px !important;
  border: 1px solid var(--cr-border) !important;
}

.card .card-header {
  background: #fff !important;
  border-bottom: 1px solid var(--cr-border) !important;
}

/* ---- Tables ---- */
.table thead th {
  background: #f8fafc;
  border-bottom: 1px solid var(--cr-border) !important;
  color: var(--cr-dark);
  font-weight: 700;
}

.table td, .table th {
  vertical-align: middle !important;
}

/* ---- Forms ---- */
.form-control:focus {
  border-color: var(--cr-primary) !important;
  box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.15) !important;
}

.custom-control-input:checked ~ .custom-control-label::before {
  border-color: var(--cr-primary) !important;
  background-color: var(--cr-primary) !important;
}

/* ---- Buttons (secondary better) ---- */
.btn-secondary {
  background: #334155 !important;
  border-color: #334155 !important;
}

.btn-secondary:hover {
  background: #1f2937 !important;
  border-color: #1f2937 !important;
}

/* ---- Info boxes / dashboard ---- */
.info-box {
  border-radius: 14px !important;
  border: 1px solid var(--cr-border) !important;
}

.info-box-icon {
  border-radius: 14px 0 0 14px !important;
}

.small-box {
  border-radius: 14px !important;
  overflow: hidden;
}

/* ---- Alerts ---- */
.alert {
  border-radius: 12px !important;
  border: 1px solid var(--cr-border) !important;
}

/* ---- Pills / badges ---- */
.badge-success { background-color: var(--cr-accent) !important; }

/* ---- Dropdown menu readability ---- */
.dropdown-menu {
  border-radius: 12px !important;
  border: 1px solid var(--cr-border) !important;
}

.dropdown-item:hover {
  background-color: #f1f5f9 !important;
}

/* ---- Login box polish ---- */
.login-box .card {
  border-radius: 18px !important;
}
