/* ===================================================================
   CALENDARIO - VISTA AGENDA
   (antes "Día" – ahora lista vertical de eventos del día)
   Componente: GymCalendarV2.razor  (Agenda)
   =================================================================== */
.gym-calendar-v2 {
    max-width: 900px;
    margin: 1rem auto;
    padding: 1rem;
    border-radius: 8px;
    background: #212529; /* sincronizado con header/sidebar */
    color: #f8f9fa;
    font-size: 14px;
}

/* Header con fecha y botones anterior / siguiente */
.cal-v2-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .5rem;
}

    .cal-v2-header button {
        padding: .25rem .6rem;
        border-radius: 6px;
        border: 1px solid #495057;
        background: #343a40;
        color: #f8f9fa;
        cursor: pointer;
    }

        .cal-v2-header button:hover {
            background: #3b4047;
        }

/* Título centrado del día */
.cal-v2-header-title {
    font-weight: 600;
    text-transform: capitalize;
}

/* Etiqueta del rol (Cliente, Recepcionista, Nutricionista) */
.cal-v2-role-label {
    font-size: .85rem;
    opacity: .7;
    margin-bottom: .5rem;
}

/* Contenedor de tarjetas del día */
.cal-v2-body {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.cal-v2-empty {
    opacity: .6;
    font-style: italic;
}

/* Tarjeta de evento (clase / cita) */
.cal-v2-event-card {
    background-color: #D1D5DB;
    padding: .5rem .75rem;
    border-radius: 6px;
    background: #181a1f; /* igual que gym-content */
    border-left: 4px solid #10B981; /* se sobreescribe con style inline de ColorHex */
    color: #111827
}

/* 07:00 - 08:00 */
.cal-v2-event-time {
    font-size: .8rem;
    opacity: .8;
}

.cal-v2-event-title {
    font-weight: 600;
}

.cal-v2-event-subtitle {
    font-size: .85rem;
}

.cal-v2-event-extra {
    font-size: .8rem;
    opacity: .9;
    margin-top: .25rem;
}

/* Botones dentro de la tarjeta (Reservar, Editar, Ver inscritos...) */
.cal-v2-event-actions {
    margin-top: .45rem;
    display: flex;
    gap: .4rem;
}

/* ===================================================================
   CALENDARIO - VISTA DÍA COMPLETO
   Independiente de SEMANA (usa clases gdc-*)
   Componente: GymDayCalendarV2.razor
   =================================================================== */

.gdc {
    max-width: 1100px;
    width: 100%;
    margin: 1rem auto;
    padding: .75rem 1rem;
    border-radius: 12px;
    background: #212529;
    color: #f8f9fa;
    font-size: 14px;
    overflow-x: auto; /* por si alguna hora se desmadra en móvil */
}

/* Header del día (flechas + fecha) */
.gdc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .25rem;
}

    .gdc-header button {
        padding: .25rem .6rem;
        border-radius: 6px;
        border: 1px solid #495057;
        background: #343a40;
        color: #f8f9fa;
        cursor: pointer;
    }

        .gdc-header button:hover {
            background: #3b4047;
        }

.gdc-header-title {
    font-weight: 600;
    text-transform: capitalize;
}

.gdc-subtitle {
    font-size: .8rem;
    opacity: .7;
    margin-bottom: .5rem;
}

/* GRID: 1 columna de horas + 1 columna de eventos */
.gdc-grid {
    display: grid;
    grid-template-columns: 70px 1fr; /* horas | eventos */
    grid-auto-rows: minmax(40px, auto);
    border-top: 1px solid #343a40;
    border-left: 1px solid #343a40;
}

/* Celdas genéricas de la grilla */
.gdc-cell {
    border-right: 1px solid #343a40;
    border-bottom: 1px solid #343a40;
    padding: 2px 4px;
    box-sizing: border-box;
}

/* Esquina arriba-izquierda (vacía) */
.gdc-cell-header {
    background: #181a1f;
}

/* Encabezado del día (mar, 25) */
.gdc-day-header {
    background: #181a1f;
    text-align: center;
    font-weight: 600;
    font-size: .85rem;
}

/* Columna de horas (00:00, 01:00...) */
.gdc-hour-label {
    background: #181a1f;
    font-size: .75rem;
    text-align: right;
    padding-right: .5rem;
    color: #d1d5db;
}

/* Celda de eventos por hora */
.gdc-slot {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* Bloque de evento en Día completo */
.gdc-event {
    background-color: #D1D5DB;
    font-size: .75rem;
    border-radius: 6px;
    padding: 2px 4px;
    color: #111827; /* texto oscuro encima del color de evento */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    line-height: 1.1;
}

.gdc-event-title {
    font-weight: 600;
}

.gdc-event-time {
    font-size: .7rem;
    opacity: .9;
}

.gdc-event-sub {
    font-size: .7rem;
    opacity: .85;
}

/* Si luego agregas más detalles, puedes usar esto */
.gdc-event-extra {
    font-size: .7rem;
    opacity: .75;
}

/* Ajustes móvil */
@media (max-width: 768px) {
    .gdc {
        font-size: 12px;
    }

    .gdc-hour-label {
        font-size: .65rem;
    }
}


/* ===================================================================
   CALENDARIO - VISTA SEMANA (GymWeekCalendarV2.razor)
   Grilla 1 columna de horas + 7 columnas de días
   Aquí solo se muestra el TÍTULO del evento (como Google Calendar)
   =================================================================== */

.gwc {
    max-width: 1100px;
    width: 100%;
    margin: 1rem auto;
    padding: .75rem 1rem;
    border-radius: 12px;
    background: #212529;
    color: #f8f9fa;
    font-size: 14px;
    overflow-x: auto; /* si en móviles no entra, aparecerá scroll horizontal */
}

/* Header de la semana (flechas + rango de fechas) */
.gwc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .25rem;
}

    .gwc-header button {
        padding: .25rem .6rem;
        border-radius: 6px;
        border: 1px solid #495057;
        background: #343a40;
        color: #f8f9fa;
        cursor: pointer;
    }

        .gwc-header button:hover {
            background: #3b4047;
        }

.gwc-header-title {
    font-weight: 600;
}

.gwc-subtitle {
    font-size: .8rem;
    opacity: .7;
    margin-bottom: .5rem;
}

/* GRID BASE: columna de horas + 7 columnas de días */
.gwc-grid {
    display: grid;
    grid-template-columns: 70px repeat(7, 1fr);
    grid-auto-rows: minmax(40px, auto);
    border-top: 1px solid #343a40;
    border-left: 1px solid #343a40;
}

/* Celdas genéricas de la grilla */
.gwc-cell {
    border-right: 1px solid #343a40;
    border-bottom: 1px solid #343a40;
    padding: 2px 4px;
    box-sizing: border-box;
}

/* Esquina vacía arriba-izquierda */
.gwc-cell-header {
    background: #181a1f;
}

/* Encabezados de los días (lun, mar, mié...) */
.gwc-day-header {
    background: #181a1f;
    text-align: center;
    font-weight: 600;
    font-size: .85rem;
}

/* Columna de horas (06:00, 07:00...) */
.gwc-hour-label {
    background: #181a1f;
    font-size: .75rem;
    text-align: right;
    padding-right: .5rem;
    color: #d1d5db;
}

/* Cada celda "día/hora": contenedor de uno o varios eventos */
.gwc-slot {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* BLOQUE DE EVENTO en vista semana */
.gwc-event {
    background-color: #D1D5DB;
    font-size: .75rem;
    border-radius: 6px;
    padding: 2px 4px;
    color: #111827;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.1;
}

.gwc-event-title {
    font-weight: 600;
}

/* Hora debajo del título en la vista semana */
.gwc-event-time {
    font-size: .7rem;
    opacity: .9;
}

/* Semana: sí mostrar el "sub" (cliente), pero ocultar extra */
.gwc-event-sub {
    display: block;
    font-size: .7rem;
    opacity: .85;
}

.gwc-event-extra {
    display: none;
}


/* Opcional: ajustes extra para pantallas pequeñas */
@media (max-width: 768px) {
    .gwc {
        font-size: 12px;
    }

    .gwc-hour-label {
        font-size: .65rem;
    }
}


/* ===================================================================
   CALENDARIO - VISTA MES (GymMonthCalendarV2.razor)
   Grilla de 7 columnas x ~6 filas, mostrando solo el título del evento
   =================================================================== */
.gmc-month {
    max-width: 1100px;
    width: 100%;
    margin: 1rem auto;
    padding: .75rem 1rem;
    border-radius: 12px;
    background: #212529;
    color: #f8f9fa;
    font-size: 14px;
    overflow-x: auto; /* scroll horizontal si no entra todo en móvil */
}

/* Header del mes (flechas + nombre del mes) */
.gmc-month-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .25rem;
}

    .gmc-month-header button {
        padding: .25rem .6rem;
        border-radius: 6px;
        border: 1px solid #495057;
        background: #343a40;
        color: #f8f9fa;
        cursor: pointer;
    }

        .gmc-month-header button:hover {
            background: #3b4047;
        }

.gmc-month-title {
    font-weight: 600;
    text-transform: capitalize;
}

.gmc-month-subtitle {
    font-size: .8rem;
    opacity: .7;
    margin-bottom: .5rem;
}

/* Grilla del mes */
.gmc-month-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-auto-rows: minmax(80px, auto); /* <- antes era 80px fijo */
    border-top: 1px solid #343a40;
    border-left: 1px solid #343a40;
}


/* Celda genérica del mes */
.gmc-month-cell {
    border-right: 1px solid #343a40;
    border-bottom: 1px solid #343a40;
    padding: 4px;
    box-sizing: border-box;
    position: relative;
}

/* Encabezado de días (LUN, MAR...) */
.gmc-month-dayname {
    background: #181a1f;
    text-align: center;
    font-size: .75rem;
    font-weight: 600;
}

/* Número del día (1,2,3...) */
.gmc-month-daynumber {
    font-size: .75rem;
    opacity: .9;
}

/* Días fuera del mes actual (tonos más claros) */
.gmc-month-out .gmc-month-daynumber {
    opacity: .4;
}

/* Bloque de evento dentro de un día del mes */
.gmc-month-event {
    background-color: #D1D5DB;
    font-size: .75rem;
    border-radius: 6px;
    padding: 2px 4px;
    color: #111827;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    line-height: 1.1;
}

/* Título del evento en la vista mes */
.gmc-month-event-title {
    font-weight: 600;
}

/* Hora debajo del título en la vista mes */
.gmc-month-event-time {
    font-size: .7rem;
    opacity: .9;
}

.gmc-month-more {
    background: transparent;
    border: 0;
    padding: 2px 0 0 0;
    text-align: left;
    width: 100%;
    font-size: 12px;
    cursor: pointer;
    text-decoration: underline;
    color: #fff;
}


/* ===================================================================
   BOTONES REUTILIZABLES DEL CALENDARIO
   =================================================================== */

.btn-v2-sm {
    font-size: .8rem;
    padding: .15rem .45rem;
    border-radius: 4px;
    border: none;
    cursor: pointer;
}

.btn-v2-primary {
    background: #10B981; /* verde tipo Tailwind */
    color: white;
}

.btn-v2-outline {
    background: transparent;
    color: #f8f9fa;
    border: 1px solid #495057;
}
