/* ================================================================
   Vacaciones y Ausencias - Estilos del módulo Personal
   ================================================================ */

/* ─── Celda de día base ────────────────────────────────────────── */
.vac-day {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: 0.78rem;
    font-weight: 500;
    cursor: default;
    transition: opacity 0.15s;
    position: relative;
}

.vac-day:hover { opacity: 0.8; cursor: pointer; }

/* ─── Estados de día ───────────────────────────────────────────── */
.vac-day--today {
    border: 2px solid var(--mud-palette-primary);
    font-weight: 700;
}

.vac-day--festivo {
    background-color: #fce4ec;
    color: #c62828;
    font-weight: 600;
}

.vac-day--weekend {
    background-color: #f5f5f5;
    color: #9e9e9e;
}

.vac-day--pendiente {
    background-color: #fff9c4;
    color: #f57f17;
    font-weight: 600;
}

.vac-day--aprobada {
    background-color: #e3f2fd;
    color: #1565c0;
    font-weight: 600;
}

.vac-day--disfrutada {
    background-color: #e8f5e9;
    color: #2e7d32;
    font-weight: 600;
}

.vac-day--rechazada {
    background-color: #ffebee;
    color: #b71c1c;
    text-decoration: line-through;
}

.vac-day--cancelada {
    background-color: #eeeeee;
    color: #757575;
    text-decoration: line-through;
}

.vac-day--ausencia {
    background-color: #fff3e0;
    color: #e65100;
    font-weight: 600;
}

.vac-day--no-laborable {
    background-color: #fafafa;
    color: #bdbdbd;
}

/* ─── Cabecera de mes ──────────────────────────────────────────── */
.vac-mes-header {
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: capitalize;
    letter-spacing: 0.03em;
    padding-bottom: 4px;
    border-bottom: 2px solid var(--mud-palette-primary);
    margin-bottom: 4px;
}

.vac-mes-dayname {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    text-transform: uppercase;
}

/* ─── Grid del calendario ──────────────────────────────────────── */
.vac-calendar-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

@media (max-width: 1100px) {
    .vac-calendar-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 720px) {
    .vac-calendar-grid { grid-template-columns: 1fr; }
}

.vac-mes-container {
    padding: 8px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

/* ─── Semana row ───────────────────────────────────────────────── */
.vac-week-row {
    display: flex;
    gap: 2px;
    margin-bottom: 2px;
}

/* ─── Leyenda ──────────────────────────────────────────────────── */
.vac-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    font-size: 0.76rem;
    align-items: center;
}

.vac-legend-item {
    display: flex;
    align-items: center;
    gap: 5px;
}

.vac-legend-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    flex-shrink: 0;
}

.vac-legend-dot--festivo    { background-color: #fce4ec; border: 1px solid #c62828; }
.vac-legend-dot--pendiente  { background-color: #fff9c4; border: 1px solid #f57f17; }
.vac-legend-dot--aprobada   { background-color: #e3f2fd; border: 1px solid #1565c0; }
.vac-legend-dot--disfrutada { background-color: #e8f5e9; border: 1px solid #2e7d32; }
.vac-legend-dot--rechazada  { background-color: #ffebee; border: 1px solid #b71c1c; }
.vac-legend-dot--cancelada  { background-color: #eeeeee; border: 1px solid #9e9e9e; }
.vac-legend-dot--ausencia   { background-color: #fff3e0; border: 1px solid #e65100; }
.vac-legend-dot--weekend    { background-color: #f5f5f5; border: 1px solid #bdbdbd; }
.vac-legend-dot--today      { background-color: #fff;    border: 2px solid var(--mud-palette-primary); }

/* ─── Resumen tarjetas ─────────────────────────────────────────── */
.vac-resumen-valor {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.1;
}

.vac-resumen-label {
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
