
/* ---- Restauración visual mínima, sin romper PHP ---- */
:root{
  --mf-main:#198754; /* verde corporativo aproximado */
  --mf-accent:#0d6efd; /* azul bootstrap */
  --mf-bg:#f7f9fb;
}
body{ background: var(--mf-bg); }
.navbar{ background:#fff !important; }
.header-calendario{ display:flex; align-items:center; }
.logo-mf14{ max-height:48px; height:auto; width:auto; object-fit:contain; }
.select-card{ border:1px solid #e5e7eb; transition:all .2s ease; border-radius:.75rem; }
.select-card:hover{ box-shadow:0 6px 18px rgba(0,0,0,.06); transform:translateY(-1px); }
.select-card.active{ border-color: var(--mf-accent); box-shadow:0 6px 22px rgba(13,110,253,.15); }
.thead-sticky th{ position:sticky; top:0; z-index:2; background:#fff; }
.cell{ min-width:150px; height:44px; }
.cell-busy, .cell-past{ display:flex; align-items:center; justify-content:center; color:#999; }
.btn.js-dispo{ white-space:nowrap; }
.lock-icon{ font-size:1rem; color:#dc3545; }
.resumen-box{ border:1px solid #e5e7eb; border-radius:.75rem; overflow:hidden; background:#fff; }
.resumen-band{ background:var(--mf-main); color:#fff; font-weight:600; padding:.35rem .6rem; font-size:.9rem; }
.resumen-body{ padding:.75rem .9rem; }
.badge.bg-primary{ background: var(--mf-accent) !important; }
.is-sel{ border-color: var(--mf-accent) !important; color: var(--mf-accent) !important; }
.table>thead th, .table>tbody td, .table>tbody th{ vertical-align:middle; }
.small-muted{ color:#6c757d; font-size:.9rem; }
.modal-content{ border-radius: .75rem; }
