/* Consultorio Médico — estilo limpio, formal, tema claro */
:root{
  --cm-primary:#0d6efd;
  --cm-soft:#f6f8fb;
  --cm-border:#e7ebf1;
}
body{ background: var(--cm-soft); }
.navbar{ box-shadow: 0 6px 18px rgba(0,0,0,.05); }
.cm-ribbon{
  background: linear-gradient(90deg, rgba(13,110,253,.15), rgba(13,110,253,.05));
  border-bottom: 1px solid var(--cm-border);
}
.cm-card{
  border:1px solid var(--cm-border);
  border-radius:16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
}
.cm-btn-primary{
  border-radius: 12px;
  padding: .65rem 1rem;
}
.cm-badge{
  background:#eaf2ff;
  color:#0b5ed7;
  border:1px solid #d8e6ff;
}
.cm-calendar-day{
  border:1px solid var(--cm-border);
  border-radius:12px;
  background:#fff;
  min-height:88px;
  padding:.6rem;
  transition: transform .08s ease, box-shadow .08s ease;
}
.cm-calendar-day:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(0,0,0,.05);
}
.cm-day-muted{ opacity:.45; }
.cm-slot{
  border:1px solid var(--cm-border);
  border-radius: 999px;
  padding:.45rem .75rem;
  background:#fff;
}
.cm-print{
  background:#fff;
}
@media print{
  body{ background:#fff !important; }
  .no-print{ display:none !important; }
  .cm-print{ box-shadow:none !important; border:none !important; }
}
