:root{
  --gh-pink:#e6198c;
  --gh-pink-dark:#c2137a;
  --gh-pink-pale:#fce4f0;
}
.brand-link{ background:#c2137a; border-bottom:1px solid #a30f66; }
.main-header.navbar{ background:#e6198c !important; }
.main-header.navbar .nav-link, .main-header.navbar .navbar-nav>li>a{ color:#fff !important; }
.sidebar-dark-primary.main-sidebar, .sidebar-dark-primary .sidebar{ background:#1a1a2e; }
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active{ background-color: var(--gh-pink-dark); }
.small-box.bg-clinic{ background-color: var(--gh-pink); color:#fff; }

.section-title{
  background: var(--gh-pink-pale);
  border-left: 4px solid var(--gh-pink-dark);
  font-weight:700;
  text-transform:uppercase;
  font-size:.8rem;
  letter-spacing:.03em;
  padding:.4rem .75rem;
  margin-top:1rem;
  margin-bottom:.6rem;
  color:#7a0f4e;
}
.radio-inline-group{ display:flex; gap:1.25rem; align-items:center; height:100%; flex-wrap:wrap; }
.field-row{ display:flex; align-items:center; margin-bottom:.55rem; }
.field-label{ flex:0 0 55%; font-size:.85rem; color:#333; }
.field-control{ flex:1; }
.field-control input[type=text], .field-control input[type=number], .field-control input[type=date]{
  font-size:.85rem; padding:.25rem .5rem; height:calc(1.5em + .5rem + 2px);
}

.report-sheet{
  background:#fff; max-width:900px; margin:0 auto; padding:30px 35px;
  border:1px solid #dee2e6; font-family: 'Times New Roman', Times, serif; color:#111;
}
.report-sheet h4{ font-family: Arial, sans-serif; font-weight:700; letter-spacing:.02em; }
.report-clinic-header{ display:flex; align-items:center; gap:14px; border-bottom:2px solid #c2137a; padding-bottom:10px; margin-bottom:14px; }
.report-clinic-header .logo-circle{
  width:60px;height:60px;border-radius:50%;border:2px solid #c2137a;
  display:flex;align-items:center;justify-content:center;font-size:22px;color:#c2137a;flex:0 0 auto;
}
.report-clinic-header .clinic-name{ font-family: Arial, sans-serif; font-weight:800; font-size:1.15rem; margin:0; color:#c2137a; }
.report-clinic-header .clinic-addr{ font-size:.75rem; margin:0; color:#333; }
.report-table{ width:100%; font-size:.82rem; border-collapse:collapse; margin-bottom:6px; }
.report-table td{ padding:2px 4px; vertical-align:top; }
.report-table td.label{ width:58%; }
.report-table td.colon{ width:3%; }
.rep-sec{
  background: var(--gh-pink-pale); font-weight:700; font-size:.78rem; text-transform:uppercase;
  padding:3px 6px; margin-top:8px; border:1px solid #f3b8d6;
}
.report-cols{ display:flex; gap:24px; flex-wrap:wrap; }
.report-cols>div{ flex:1; min-width:280px; }
.report-footer-note{ display:flex; justify-content:space-between; margin-top:22px; font-family:Arial, sans-serif; font-size:.85rem; flex-wrap:wrap; gap:20px;}
.qr-box{ width:110px; height:110px; }
.clinic-footer{ border-top:1px solid #999; margin-top:40px; padding-top:8px; font-size:.7rem; font-family:Arial, sans-serif; color:#333; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }

.badge-sehat{ background:#28a745; }
.badge-tidak{ background:#dc3545; }
.clickable-row{ cursor:pointer; }

@media print{
  body *{ visibility:hidden; }
  #printable-area, #printable-area *{ visibility:visible; }
  #printable-area{ position:absolute; top:0; left:0; width:100%; }
  .no-print{ display:none !important; }
  .report-sheet{ border:none; max-width:100%; }
}

.login-page-wrap{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, #e6198c 0%, #c2137a 100%);
}
.login-card{ width:100%; max-width:380px; border:none; border-radius:10px; overflow:hidden; }
.login-card .card-header{ background:#1a1a2e; color:#fff; text-align:center; padding:1.5rem 1rem; }
