:root{
  --hms-primary:#0d6efd;
  --hms-primary-dark:#0a3d91;
  --hms-teal:#0ea5a4;
  --hms-ink:#0f172a;
  --hms-muted:#64748b;
  --hms-bg:#f4f7fb;
  --hms-card-radius:16px;
  --hms-shadow:0 1px 2px rgba(15,23,42,.06), 0 8px 24px -12px rgba(15,23,42,.12);
}

body{
  background:var(--hms-bg);
  color:var(--hms-ink);
  font-family:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
}

/* ---------- App shell (dashboard) ---------- */
.hms-shell{min-height:100vh;display:flex;}
.hms-sidebar{
  width:260px;flex-shrink:0;background:linear-gradient(180deg,var(--hms-primary-dark),#0b2a66);
  color:#fff;position:sticky;top:0;height:100vh;overflow-y:auto;
}
.hms-sidebar .brand{padding:1.25rem 1.25rem 1rem;display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.05rem;color:#fff;text-decoration:none;}
.hms-sidebar .brand .logo-dot{width:34px;height:34px;border-radius:10px;background:#fff;color:var(--hms-primary-dark);display:flex;align-items:center;justify-content:center;font-weight:800;}
.hms-sidebar .nav-link{color:rgba(255,255,255,.75);padding:.6rem 1.25rem;border-radius:0;display:flex;gap:.65rem;align-items:center;font-size:.92rem;}
.hms-sidebar .nav-link i{width:18px;text-align:center;}
.hms-sidebar .nav-link:hover{color:#fff;background:rgba(255,255,255,.08);}
.hms-sidebar .nav-link.active{color:#fff;background:rgba(255,255,255,.14);border-right:3px solid #fff;font-weight:600;}
.hms-sidebar .nav-section-title{color:rgba(255,255,255,.45);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:1rem 1.25rem .35rem;}
.hms-main{flex:1;min-width:0;}
.hms-topbar{background:#fff;border-bottom:1px solid #e6eaf0;padding:.7rem 1.25rem;position:sticky;top:0;z-index:1020;}
.hms-content{padding:1.5rem;}

@media(max-width:991.98px){
  .hms-sidebar{position:fixed;left:-280px;top:0;z-index:1045;transition:left .25s ease;}
  .hms-sidebar.show{left:0;box-shadow:0 0 0 100vmax rgba(0,0,0,.4);}
  .hms-content{padding:1rem;}
}

/* ---------- Cards / stats ---------- */
.hms-card{background:#fff;border:1px solid #eef1f6;border-radius:var(--hms-card-radius);box-shadow:var(--hms-shadow);}
.hms-stat{border-radius:var(--hms-card-radius);padding:1.1rem 1.25rem;background:#fff;border:1px solid #eef1f6;box-shadow:var(--hms-shadow);}
.hms-stat .stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;}
.hms-stat .stat-value{font-size:1.6rem;font-weight:700;line-height:1;}
.hms-stat .stat-label{color:var(--hms-muted);font-size:.82rem;}

.bg-soft-primary{background:#eaf2ff;color:var(--hms-primary);}
.bg-soft-teal{background:#e3fbfa;color:var(--hms-teal);}
.bg-soft-warn{background:#fff4e5;color:#b45309;}
.bg-soft-danger{background:#fdeaea;color:#b91c1c;}
.bg-soft-success{background:#e8f8ee;color:#15803d;}

.badge-status{font-weight:600;font-size:.72rem;letter-spacing:.02em;padding:.35em .65em;border-radius:20px;}

.queue-card{border-left:4px solid var(--hms-primary);}
.queue-number{width:46px;height:46px;border-radius:12px;background:var(--hms-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;}
.queue-number.queue-number-done{background:#15803d;}

/* ---------- Public marketing site ---------- */
.hms-navbar{background:#fff;box-shadow:0 1px 0 rgba(15,23,42,.06);}
.hms-hero{background:radial-gradient(1200px 500px at 80% -10%, #d9ecff 0%, transparent 60%), linear-gradient(180deg,#fff,#f4f7fb 90%);}
.hms-hero h1{font-weight:800;letter-spacing:-.02em;}
.hms-badge-pill{background:#eaf2ff;color:var(--hms-primary-dark);border-radius:999px;padding:.35rem .9rem;font-weight:600;font-size:.8rem;display:inline-flex;align-items:center;gap:.4rem;}
.service-card{border-radius:18px;border:1px solid #eef1f6;background:#fff;transition:transform .15s ease, box-shadow .15s ease;}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--hms-shadow);}
.doctor-card{border-radius:18px;overflow:hidden;border:1px solid #eef1f6;background:#fff;}
.doctor-avatar{width:64px;height:64px;border-radius:50%;background:var(--hms-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.3rem;}
.footer-dark{background:var(--hms-ink);color:#cbd5e1;}
.footer-dark a{color:#e2e8f0;text-decoration:none;}
.footer-dark a:hover{color:#fff;}

.step-num{width:34px;height:34px;border-radius:50%;background:var(--hms-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;}

.avatar-sm{width:36px;height:36px;border-radius:50%;background:var(--hms-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;}

/* ---------- Pagination (Bootstrap 5 theme) ---------- */
.pagination{gap:.25rem;}
.pagination .page-link{border-radius:8px !important;border:1px solid #e6eaf0;color:var(--hms-ink);font-size:.85rem;}
.pagination .page-item.active .page-link{background:var(--hms-primary);border-color:var(--hms-primary);}
.pagination .page-item.disabled .page-link{color:#c3cad6;}
.pagination svg{width:14px;height:14px;vertical-align:-2px;}
