.calendar-main {
    background: #fff;
    padding: 15px;
    border-radius: 8px;
    border: 1px solid var(--border-light);
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.month-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--border-light);
    table-layout: fixed;
}

.month-header {
    background: var(--month-bg) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700;
    text-align: center;
    padding: 6px 0;
}

.weekday-header {
    font-size: 10px !important;
    padding: 4px 0;
    background: #f9fafb;
    color: var(--text-soft);
    font-weight: 600;
    border: 1px solid var(--border-light);
}

.month-table td {
    height: 28px;
    text-align: center;
    font-size: 11px;
    border: 1px solid var(--border-light);
    vertical-align: middle;
    font-variant-numeric: tabular-nums;
}

.is-sun {
    color: var(--sun-red) !important;
}

.is-sat {
    color: var(--sat-blue) !important;
}

.month-table td.is-weekend-sat {
    background: var(--bg-sat) !important;
}

.month-table td.is-weekend-sun {
    background: var(--bg-sun) !important;
}

.is-holiday {
    background: var(--holiday-bg) !important;
    color: #fff !important;
    font-weight: 700;
}
