/* === Estilos globales Medytec === */
body{ 
  font-family: "Kanit", sans-serif !important;
  font-weight: 300;
  font-style: normal;
}
.content-page.fullwidth {
  max-width: 100vw !important;
  padding: 0 !important;
}

/* === Calendario principal === */
#calendar {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  padding: 10px;
  --fc-slot-min-height: 55px;
}

/* Etiquetas de hora */
.fc-timegrid-slot-label {
  font-size: 13px !important;
  color: #777 !important;
  font-weight: 500;
  padding-top: 6px !important;
  text-align: right;
  vertical-align: top !important;
}

/* Líneas horizontales */
.fc-timegrid-slot {
  border-bottom: 1px solid rgba(0,0,0,0.05) !important;
  height: 55px !important;
}

/* Eventos (citas) */
.fc-event {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin-top: 4px !important;
  margin-bottom: 4px !important;
  opacity: 1 !important;
}

/* Contenido del evento */
.fc-event-main {
  text-align: left !important;
  padding: 6px 8px !important;
  font-family: "Kanit", sans-serif;
  color: #000 !important;
  font-size: 12px !important;
  line-height: 1.3;
  background-color: rgba(0,0,0,0.05);
  border-left: 5px solid transparent;
}

.fc {
  font-family: "Kanit", sans-serif;
}
/* Colores de los encabezados */
.fc-theme-standard .fc-scrollgrid {
  border-color: #eaeaea !important;
}

/* Estilo de días */
.fc-day-today {
  background-color: #f0faff !important;
}
.content-detail-cita{
    min-width: 290px;
    font-size: 12px;
    color: #1F2632;
    text-align: left;
    padding: 18px 20px;
}
.tippy-box {
  pointer-events: auto !important;
  z-index: 9999 !important;
}
.fc .tippy-box {
  pointer-events: auto !important;
  position: relative;
  z-index: 9999 !important;
}

.fc .fc-scroller-harness,
.fc .fc-view-harness,
.fc .fc-timegrid-body {
  overflow: visible !important; /* evita clipping dentro del calendario */
}
.ss-main .ss-single-selected, .ss-main .ss-multi-selected{background-color: #fff;border-radius: 20px !important;border: 1px solid #7f7f7f !important;}
.ss-main.invalid .ss-single-selected, .ss-main.invalid .ss-multi-selected{border: 1px solid #ff5252 !important;}
.ss-main .ss-single-selected .placeholder, .ss-main .ss-single-selected .placeholder *{font-size: 12px;}
.ss-main .ss-content .ss-search input{font-size: 12px !important;}
.ss-main .ss-content .ss-list .ss-option.ss-disabled{font-size: 12px !important;}
.ss-main .ss-content .ss-list .ss-option{font-size: 12px !important;}
.fc-event-main {
  overflow: hidden;
}

.fc-paciente {
  font-weight: 600;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fc-info {
  font-size: 10px;
  opacity: .8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fc-list-event-time{ color:black !important}
.fc-list-event-graphic{ display:none !important}
.kpi-card{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  background:#fff;
}

.kpi-icon{
  width:38px;
  height:38px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:18px;
}

.kpi-icon.citas{
  background:#3b82f6;
}

.kpi-icon.estudios{
  background:#7c3aed;
}

.kpi-label{
  font-size:11px;
  color:#6b7280;
}

.kpi-value{
  font-size:18px;
  font-weight:700;
  line-height:1;
}
/* Mini calendario */
#mini-calendar .fc-toolbar-title {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

#mini-calendar .fc-toolbar-chunk button {
  transform: scale(0.8);
}

/* Compactar el mini calendario lateral */
#mini-calendar .fc-daygrid-day-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px; /* ajusta entre 26px - 30px según gusto */
  padding: 0 !important;
}

#mini-calendar .fc-daygrid-day-top {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 !important;
  height: 100%;
}

#mini-calendar .fc-daygrid-day-number {
  font-size: 13px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  transition: all 0.2s ease;
}

/* Día actual resaltado */
#mini-calendar .fc-day-today .fc-daygrid-day-number {
  background-color: #0d6efd;
  color: #fff !important;
}

/* Hover más claro */
#mini-calendar .fc-daygrid-day:hover .fc-daygrid-day-number {
  background-color: #e9f3ff;
  color: #0d6efd;
}
.btn-tippy {
  background: #f1f1f1;
  border: none;
  border-radius: 4px;
  padding: 2px 6px;
  cursor: pointer;
  font-size: 14px;
  transition: background 0.2s;
}
.btn-tippy:hover { background: #e0e0e0; }


/* En modo oscuro */
body.bg-dark .fc-timegrid-slot-label {
  color: #ccc !important;
}
body.bg-dark .fc-timegrid-slot {
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
@media (max-width:768px){

  .fc-timegrid-event {
    padding:2px 3px !important;
    font-size:10px !important;
  }

  .fc-event-main{
    line-height:1.1 !important;
  }

  .fc-paciente{
    font-size:10px !important;
  }
  .fc-list-event-time{
    width:70px;
    min-width:70px;
    font-size:12px;
    font-weight:600;
  }

  .fc-list-event-title{
    white-space:normal !important;
    overflow:visible !important;
  }

  .fc-list-event{
    font-size:13px;
  }

  .fc-list-event-graphic{
    width:10px;
  }

}
.btn-nueva-cita{
  position:fixed;
  bottom:20px;
  right:20px;
  width:60px;
  height:60px;
  border-radius:50%;
  background:#0d6efd;
  color:white;
  font-size:30px;
  border:none;
  box-shadow:0 4px 12px rgba(0,0,0,0.3);
  z-index:999;
}

@media(min-width:768px){
  .btn-nueva-cita{
    display:none;
  }
  
}