/* CarePulse theme — Black, Red, White, Light Blue */
:root{
  --cp-black:#15171c;
  --cp-red:#d32f2f;
  --cp-red-dark:#b71c1c;
  --cp-white:#ffffff;
  --cp-blue:#e3f2fd;       /* light blue surface */
  --cp-blue-accent:#4fa3e3;
  --cp-gray:#f4f6f9;
  --cp-text:#22252b;
}
body{ background:var(--cp-gray); color:var(--cp-text); font-family:"Segoe UI",system-ui,Arial,sans-serif; }
a{ text-decoration:none; }

/* Sidebar */
.cp-sidebar{
  background:var(--cp-black); color:#cfd3da; height:100vh; width:240px;
  position:fixed; top:0; left:0; padding-top:1rem; overflow-y:auto;
}
.cp-brand{ color:var(--cp-white); font-weight:700; font-size:1.2rem; padding:.4rem 1.25rem .6rem; display:flex; align-items:center; gap:.5rem;}
.cp-brand .dot{ width:12px;height:12px;border-radius:50%;background:var(--cp-red); box-shadow:0 0 0 4px rgba(211,47,47,.25);}
.cp-nav a{ color:#cfd3da; display:block; padding:.42rem 1.25rem; border-left:3px solid transparent; font-size:.9rem; white-space:nowrap;}
.cp-nav a:hover{ background:#1f2128; color:#fff; }
.cp-nav a.active{ background:#23262e; color:#fff; border-left-color:var(--cp-red); }
.cp-nav .cp-heading{ color:#6b7280; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; padding:.55rem 1.25rem .2rem;}

/* Content shifted for sidebar */
.cp-content{ margin-left:240px; }
@media (max-width: 991px){ .cp-sidebar{ position:static; width:100%; min-height:auto;} .cp-content{ margin-left:0; } }

.cp-topbar{ background:var(--cp-white); border-bottom:3px solid var(--cp-red); padding:.75rem 1.25rem; display:flex; justify-content:space-between; align-items:center;}
.cp-card{ background:var(--cp-white); border:1px solid #e6e9ee; border-radius:.6rem; }
.cp-stat{ border-radius:.6rem; padding:1rem 1.1rem; color:#fff; }
.cp-stat .n{ font-size:1.6rem; font-weight:700; }
.cp-stat .l{ font-size:.8rem; opacity:.92; }
.bg-cp-black{ background:var(--cp-black);} .bg-cp-red{ background:var(--cp-red);} .bg-cp-blue{ background:var(--cp-blue-accent);}
.text-cp-red{ color:var(--cp-red)!important; }
.btn-cp{ background:var(--cp-red); border-color:var(--cp-red); color:#fff; }
.btn-cp:hover{ background:var(--cp-red-dark); border-color:var(--cp-red-dark); color:#fff; }
.btn-cp-blue{ background:var(--cp-blue-accent); border-color:var(--cp-blue-accent); color:#fff;}
.cp-pill{ font-size:.72rem; padding:.2rem .55rem; border-radius:1rem; }
table thead th{ background:var(--cp-blue); color:var(--cp-black); font-size:.82rem; text-transform:uppercase; letter-spacing:.03em;}
.cp-issue-block{ border-left:4px solid var(--cp-red); background:#fff5f5; }
.cp-issue-warn{ border-left:4px solid #f0ad4e; background:#fff9ef; }
.cp-issue-ok{ border-left:4px solid #2e7d32; background:#f1f8f2; }

/* ---- Additions for views ---- */
.cp-stat{ background:var(--cp-black); }
.cp-stat-blue{ background:var(--cp-blue-accent); }
.cp-stat-danger{ background:var(--cp-red); }
.cp-stat-label{ font-size:.78rem; opacity:.92; display:flex; align-items:center; gap:.4rem; }
.cp-stat-value{ font-size:1.7rem; font-weight:700; margin-top:.25rem; }

.cp-card-head{ display:flex; justify-content:space-between; align-items:center; padding:.85rem 1rem; border-bottom:1px solid #e6e9ee; font-weight:600; }
.cp-card-title{ font-weight:600; margin-bottom:.75rem; color:var(--cp-black); }

.cp-table{ font-size:.9rem; }
.cp-table td, .cp-table th{ vertical-align:middle; }

.cp-dl{ display:grid; grid-template-columns:110px 1fr; gap:.35rem .75rem; margin:0; font-size:.9rem; }
.cp-dl dt{ color:#6b7280; font-weight:500; }
.cp-dl dd{ margin:0; }

.cp-issue{ display:flex; gap:.6rem; align-items:flex-start; padding:.7rem .9rem; border-radius:.4rem; margin-bottom:.6rem; }
.cp-issue i{ font-size:1.1rem; margin-top:.1rem; }

/* Login */
.cp-login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--cp-black),#23262e); padding:1.5rem; }
.cp-login-card{ background:#fff; border-radius:.8rem; padding:2rem; width:100%; max-width:400px; box-shadow:0 12px 40px rgba(0,0,0,.25); border-top:4px solid var(--cp-red); }
.cp-login-brand{ font-size:1.6rem; font-weight:700; color:var(--cp-black); display:inline-flex; align-items:center; gap:.5rem; }
.cp-login-brand .dot{ width:14px;height:14px;border-radius:50%;background:var(--cp-red); box-shadow:0 0 0 4px rgba(211,47,47,.25);}
.cp-login-hint{ margin-top:1.25rem; padding:.6rem .8rem; background:var(--cp-blue); border-radius:.4rem; font-size:.82rem; color:var(--cp-black); }


/* Visible, themed sidebar scrollbar so it's obvious the menu scrolls */
.cp-sidebar{ scrollbar-width:thin; scrollbar-color:#4a4f5a var(--cp-black); }
.cp-sidebar::-webkit-scrollbar{ width:9px; }
.cp-sidebar::-webkit-scrollbar-track{ background:var(--cp-black); }
.cp-sidebar::-webkit-scrollbar-thumb{ background:#4a4f5a; border-radius:6px; border:2px solid var(--cp-black); }
.cp-sidebar::-webkit-scrollbar-thumb:hover{ background:#6b7280; }


/* ---- ShaGha brand + footer ---- */
.cp-brand-gha{ color:var(--cp-red); }
.cp-footer{
  display:flex; justify-content:space-between; align-items:center;
  padding:.85rem 1.5rem; margin-top:1rem;
  border-top:1px solid #e6e9ee; background:var(--cp-white);
  color:#6b7280; font-size:.82rem;
}
.cp-footer-gha{ color:var(--cp-red); font-weight:600; }
.cp-footer-muted{ color:#9aa0aa; }
