:root{
  --unram-gold:#FFD700; /* sesuai laman logo RS UNRAM */
  --unram-green:#198754; /* hijau dasar (harmonis) */
  --unram-green-dark:#0F5132; /* hijau gelap untuk header/footer */
  --unram-green-soft:#D1E7DD; /* latar lembut */
  --text-dark:#212529;
  --bg:#F7F9FB;
  --white:#fff;
  --border:#E9ECEF;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text-dark);
  background:var(--bg);
}
header{
  background: linear-gradient(90deg, var(--unram-green-dark), var(--unram-green));
  color:var(--white);
  padding:16px;
  border-bottom:4px solid var(--unram-gold);
}
header .container, main .container, footer .container{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
}
h1,h2,h3{margin:0 0 8px 0}
.header-flex{ display:flex; align-items:center; gap:16px; }
.logo-wrap{ flex:0 0 auto; display:flex; align-items:center; justify-content:center; }
.logo-img{ width:72px; height:72px; object-fit:contain; filter: drop-shadow(0 1px 2px rgba(0,0,0,.12)); background:transparent; }
.header-text{ flex:1; min-width:0; }
@media (max-width: 560px){
  .header-flex{ flex-direction:row; align-items:center; gap:12px; }
  .logo-img{ width:56px; height:56px; }
}
.filters{
  display:grid; gap:12px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin:16px 0;
  background:var(--white);
  padding:12px;
  border:1px solid var(--border);
  border-left:4px solid var(--unram-gold);
  border-radius:12px;
}
.filters label{font-size:12px;color:#495057}
.filters input, .filters select{
  width:100%; padding:10px; border:1px solid var(--border); border-radius:10px;
  background:#fff;
}
.filters textarea{
  width:100%; padding:10px; border:1px solid var(--border); border-radius:10px;
  background:#fff; font-family:inherit; font-size:14px; line-height:1.4;
  resize: vertical; min-height: 96px;
}
.last-updated{ color:#6c757d; font-size:12px; margin:8px 0; }
/* Refined last-updated styling */
.last-updated-wrap{ display:flex; justify-content:flex-end; margin:8px 0 12px; }
.last-updated-pill{
  display:inline-flex; align-items:center; gap:6px;
  background:#fff; border:1px solid var(--border); border-radius:999px;
  padding:6px 10px; color:#495057; font-size:12px;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
}
.last-updated-pill .icon{ font-size:14px; line-height:1; }
@media (max-width:560px){ .last-updated-wrap{ justify-content:flex-start; } }
.btn{
  appearance:none; border:0; border-radius:10px; padding:10px 14px; font-weight:600; cursor:pointer;
}
.btn-primary{
  background:var(--unram-green); color:#fff;
}
.btn-outline{
  background:#fff; color:var(--unram-green-dark); border:1px solid var(--unram-green-dark);
}
.badge{
  display:inline-block; padding:4px 8px; border-radius:999px; font-size:12px; font-weight:600;
  background:var(--unram-green-soft); color:var(--unram-green-dark);
}
.grid{
  display:grid; gap:12px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.day-columns{ display:grid; gap:36px; column-gap:36px; grid-template-columns: repeat(2, 1fr); }
.day-col{ display:flex; flex-direction:column; gap:12px; }
.day-col .muted{ color:#6c757d; margin-left: 16px;}
.day-header{
  font-weight:700; padding:10px 12px;
  background:var(--unram-green-dark); color:var(--white);
  border:1px solid var(--unram-green-dark); border-left:4px solid var(--unram-gold);
  border-radius:10px; text-transform:uppercase; letter-spacing:.4px;
}
@media (max-width: 700px){ .day-columns{ grid-template-columns: 1fr; } }
.card{
  background:#fff; border:1px solid var(--border); border-radius:14px; overflow:hidden;
  box-shadow: 0 2px 8px rgba(16,24,40,.04);
}
.card-head{
  padding:10px 12px; background: var(--unram-green-soft); border-bottom:1px solid var(--border);
}
.card-body{ padding:12px }
.row{
  display:flex; gap:10px; align-items:center; justify-content:space-between;
}
.row .left{display:flex; gap:8px; align-items:center}
.day-dot{
  width:10px; height:10px; border-radius:50%; background:var(--unram-gold);
}
.avatar{
  width:40px; height:40px; border-radius:50%; object-fit:cover; border:1px solid var(--border);
  background:#f2f2f2;
}
.avatar.sm{ width:28px; height:28px; }
.avatar.lg{ width:72px; height:72px; }
.avatar.placeholder{ background:linear-gradient(135deg,#eef2f7,#e6ebf2); border:1px dashed var(--border); }
.cell-flex{ display:inline-flex; align-items:center; gap:8px; }
/* Doctor item layout */
.doctor-card .card-body{ padding:12px 12px; }
.doctor-item{ display:flex; gap:14px; align-items:flex-start; }
.doctor-item .meta{ flex:1; min-width:0; }
.doctor-item .name{ font-weight:700; margin-bottom:6px; }
.chips{ display:flex; gap:8px; flex-wrap:wrap; }
.chip{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:600; }
.chip.time{ background:var(--unram-green-soft); color:var(--unram-green-dark); }
.chip.poli{ background:#fff; border:1px solid var(--border); color:#344054; }
.chip.day{ background:#fff; border:1px solid var(--border); color:#495057; }
.doctor-item .note{ margin-top:6px; font-size:13px; color:#495057; white-space:pre-wrap; }
/* Enhanced note box styling for schedule notes on public page */
.note-box{
  display:flex; gap:10px; align-items:flex-start;
  background:#FFF9DB; /* soft pale gold */
  border:1px solid var(--border);
  border-left:4px solid var(--unram-gold);
  border-radius:10px;
  padding:10px 12px;
  margin-top:8px;
  color:#444;
}
.note-icon{ font-size:16px; line-height:1.2; }
.note-text{ white-space:pre-wrap; font-size:13px; }
.doctor-card{ transition:transform .12s ease, box-shadow .12s ease; }
.doctor-card:hover{ transform:translateY(-2px); box-shadow:0 4px 16px rgba(16,24,40,.08); }
footer{
  margin-top:24px; background:var(--unram-green-dark); color:#fff; padding:16px 0;
  border-top:4px solid var(--unram-gold);
}
table{width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--border); border-radius:12px; overflow:hidden}
th, td{padding:10px; border-top:1px solid var(--border)}
th{background:var(--unram-green-soft); text-align:left}
.actions a, .actions form{display:inline-block}
.danger{color:#c1121f}
.muted{color:#eee; font-size:12px; margin:0}
.topbar{
  display:flex; gap:12px; align-items:center; justify-content:space-between; margin:12px 0;
}
a{color:var(--unram-green-dark); text-decoration:none}
a:hover{text-decoration:underline}
