.csc-calendar {
    border-collapse: collapse;
    width: 100%;
    max-width: 350px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    font-family: sans-serif;
    table-layout: fixed;
    display: inline-table;
    vertical-align: top;
}

.csc-calendar caption {
    font-weight: bold;
    padding: 10px;
    color: #333;
}

.csc-calendar th,
.csc-calendar td {
    border: 1px solid #ccc;
    text-align: center;
    padding: 12px 2px;
    width: 14.2%;
}

.csc-calendar th {
    background: #f9f9f9;
    font-weight: normal;
}

.csc-sun { color: #d00 !important; }
.csc-sat { color: #00d !important; }
.csc-default-text { color: #333 !important; }

.csc-working { background-color: #ffffff; }
.csc-holiday { background-color: #ffe4e9; }
.csc-extra-working { background-color: #d8f3ff; }

.csc-today {
    font-weight: bold;
    outline: 2px solid #555;
    outline-offset: -2px;
}