/* Step 36L — keterbacaan dan konsistensi produksi. */
:root{
  --ds-text-xs:.8125rem;
  --ds-text-sm:.9375rem;
}

html{font-size:16px}
body{font-size:1rem;line-height:1.6}
small,.text-small{line-height:1.55}

.site-utility,
.site-utility a,
.main-nav,
.mobile-action-bar,
.footer-links-stack,
.footer-legal-links{font-size:.875rem}

.section-kicker,
.eyebrow,
.news-meta,
.schedule-directory-meta{font-size:.8125rem}

.home-hero{min-height:540px}
.home-main-search>p,
.home-hero-assurance,
.home-live-indicator,
.home-visitor-note,
.home-schedule-foot,
.home-insight-links a{font-size:.8125rem}
.home-action-card div>span,
.home-operational-card span,
.home-announcement-item>span{font-size:.75rem}
.home-action-card p,
.home-operational-card small,
.home-schedule-card p,
.home-insight-card p,
.home-help-links small,
.home-announcement-item small{font-size:.875rem}
.home-operational-card strong,
.home-schedule-card h3,
.home-help-links strong{font-size:1rem}

.medical-shortcuts small,
.next-control-card small,
.visit-tags span,
.diagnosis-list small,
.result-summary-grid small,
.vital-grid small,
.medicine-row small,
.document-card p,
.document-card small{font-size:.8125rem}

button,
.btn,
input,
select,
textarea{font-size:1rem}
.btn,
button,
input[type="button"],
input[type="submit"],
input[type="reset"]{min-height:44px}

.privacy-page-shell{
  width:min(100% - 2.5rem,1120px);
  margin-inline:auto;
}
.privacy-content .card{padding:clamp(1.5rem,3vw,2.5rem)}
.privacy-content h2{margin:1.6rem 0 .45rem;color:#102a4d;font-size:1.25rem}
.privacy-content h2:first-child{margin-top:0}
.privacy-content p{margin:.25rem 0;color:#475467}

.doctor-schedule-unit-list{display:grid;gap:14px}
.doctor-schedule-unit{
  overflow:hidden;border:1px solid #dce6ef;border-radius:16px;background:#fff
}
.doctor-schedule-unit-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:52px;padding:12px 16px;border-bottom:1px solid #dce6ef;
  background:linear-gradient(135deg,#e6f5fb,#f1f9fc)
}
.doctor-schedule-unit-head h3{margin:0;color:#123b61;font-size:1rem}
.doctor-schedule-unit-head span{
  flex:0 0 auto;padding:4px 9px;border-radius:999px;
  color:#3b607a;background:#fff;font-size:.75rem;font-weight:800
}
.doctor-schedule-session-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;padding:12px;background:#f8fafc
}
.doctor-schedule-compact-session{
  min-width:0;padding:12px;border:1px solid #dfe7ef;border-radius:13px;
  background:#fff;box-shadow:0 4px 12px rgba(15,45,80,.04)
}
.doctor-schedule-compact-session.is-today{border-color:#8ec3e8;box-shadow:0 0 0 2px rgba(23,105,170,.08)}
.doctor-schedule-compact-date{
  display:flex;align-items:baseline;justify-content:space-between;gap:8px;
  padding-bottom:7px;border-bottom:1px dashed #dce5ed
}
.doctor-schedule-compact-date strong{color:#102a4d;font-size:.9375rem}
.doctor-schedule-compact-date span{color:#667085;font-size:.75rem}
.doctor-schedule-day-sessions{display:grid;margin-top:8px}
.doctor-schedule-compact-session-row{min-width:0}
.doctor-schedule-compact-session-row+.doctor-schedule-compact-session-row{
  margin-top:10px;padding-top:10px;border-top:1px dashed #dce5ed
}
.doctor-schedule-compact-time{display:grid;gap:2px}
.doctor-schedule-compact-time>strong,
.doctor-schedule-compact-time>span{color:#175f9c;font-size:.9375rem;line-height:1.4}
.doctor-schedule-compact-time>span{color:#667085}
.doctor-schedule-compact-time small{
  margin-left:4px;color:#667085;font-size:.6875rem;font-weight:700
}
.doctor-schedule-compact-status{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}
.doctor-schedule-mini-label{
  padding:4px 8px;border-radius:999px;color:#5925dc;background:#f4f3ff;
  font-size:.6875rem;font-weight:900;text-transform:uppercase
}
.doctor-schedule-compact-quota{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.doctor-schedule-compact-quota>span{
  padding:5px 7px;border-radius:8px;color:#405168;background:#eef4f8;
  font-size:.75rem;line-height:1.35
}
.doctor-schedule-compact-quota>span:nth-child(2){color:#3538cd;background:#eef2ff}
.doctor-schedule-compact-quota b{font-weight:900}
.doctor-schedule-compact-quota small{margin-left:3px;font-size:.6875rem}
.doctor-schedule-compact-notes:empty{display:none}
.doctor-schedule-compact-notes{display:grid;gap:3px;margin-top:8px}
.doctor-schedule-compact-notes span{color:#667085;font-size:.75rem;line-height:1.45}
.doctor-schedule-compact-empty{
  padding:28px;border:1px dashed #cbd8e6;border-radius:14px;
  color:#667085;background:#f8fafc;text-align:center
}
.doctor-general-confirmation{
  display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;
  gap:14px;padding:16px;border:1px solid #cfe2f1;border-radius:15px;
  color:#344054;background:#f3f9fd
}
.doctor-general-confirmation-icon{
  width:42px;height:42px;display:grid;place-items:center;border-radius:12px;
  color:#fff;background:#1769aa;font-size:1.1rem;font-weight:900
}
.doctor-general-confirmation strong{display:block;color:#123b61;font-size:1rem}
.doctor-general-confirmation p{margin:3px 0 0;color:#5c6f82;font-size:.875rem;line-height:1.5}
.doctor-general-confirmation .btn{white-space:nowrap}

@media(max-width:980px){
  .doctor-schedule-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:640px){
  .home-hero{min-height:auto}
  .site-utility,
  .site-utility a,
  .main-nav,
  .mobile-action-bar{font-size:.875rem}
  .privacy-page-shell{width:min(100% - 1.5rem,1120px)}
  .doctor-schedule-session-grid{grid-template-columns:1fr;padding:9px}
  .doctor-schedule-compact-session{padding:11px}
  .doctor-general-confirmation{grid-template-columns:40px minmax(0,1fr)}
  .doctor-general-confirmation .btn{grid-column:1/-1;width:100%}
}
