*, *:before, *:after{
    padding: 0;
    margin: 0;
    box-sizing: border-box;

}

body{
    background-color: #2c2c2c;
}

:root{
    --color-bg-calendar: #000000;
    --color-cell: #e3e3e3;
    --color-cell-disable: #424649;
}

.root{
    min-height: 100vh;
    padding: 0 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.calendar{
    padding: 30px 10px;
    background-color: var(--color-bg-calendar);
    border-radius: 15px;
    width: 100%;
    max-width: 400px;
    font-family: sans-serif;
}

.month-name-header{
    padding: 90px;
}

.header_c{
    transform: scale(2);
    color: rgb(255, 255, 255);
    text-shadow: 0 0 8px #00ffff;
    display: grid;
    text-align:center;
    padding: auto;
    
}

.calendar_header{
    color: rgb(255, 230, 1);
    text-shadow: 0 0 8px #ffffff;
    display: flex;
    justify-content: space-between;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.calendar .control{
    color: rgb(255, 218, 6);
    font-weight: bold;
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 0 5px;
}

.grid_header, .grid_body{
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

.grid_header{
    color: rgb(0, 153, 255);
    margin-bottom: 20px;
}

.grid_body{
    grid-auto-rows: 40px 40px;
    color: var(--color-cell);
}

.grid_cell{
    display: flex;
    justify-content: center;
    align-self: center;
}

.grid_cell--gd{
    cursor: pointer;
}

.grid_cell--actual{
    color: rgb(255, 230, 0);
    text-shadow: 0 0 5px #00ccff;
}

.grid_cell--disable{
    color: var(--color-cell-disable);
    cursor: not-allowed;
}

.grid_cell--descanso{
    color: rgb(255, 0, 0);
    text-shadow: 0 0 5px #ff0000;
}
