.cw-wrapper {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 17px;
}

.cw-month {
    background: #f0f2f5;
    border-radius: 20px;
    padding: 18px;
    box-shadow: 8px 8px 16px #d1d5db, -8px -8px 16px #ffffff;
    flex: 1;
    min-width: 240px;
    user-select: none;
}

body.dark-theme .cw-month {
    background: #2d3238;
    box-shadow: 8px 8px 16px #1e2226, -8px -8px 16px #3c444d;
}

.cw-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.cw-month-label {
    font-family: 'Comfortaa', cursive;
    font-weight: 700;
    font-size: 15px;
    color: #1a1a2e;
}

body.dark-theme .cw-month-label {
    color: #e0e0e0;
}

.cw-nav {
    display: flex;
    gap: 6px;
}

.cw-nav-btn {
    width: 26px;
    height: 26px;
    border: none;
    border-radius: 8px;
    background: linear-gradient(135deg, #00e7f7, #00c2f1);
    color: white;
    font-size: 17px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transition: opacity 0.15s;
    padding: 0;
}

.cw-nav-btn:hover {
    opacity: 0.82;
}

.cw-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 3px;
}

.cw-day-name {
    text-align: center;
    font-size: 10px;
    font-weight: 600;
    color: #999;
    padding-bottom: 5px;
}

body.dark-theme .cw-day-name {
    color: #777;
}

.cw-day {
    text-align: center;
    padding: 5px 2px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 500;
    color: #1a1a2e;
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
    border: 2px solid transparent;
}

body.dark-theme .cw-day {
    color: #d0d0d0;
}

.cw-day:hover:not(.cw-day--other) {
    background: rgba(0, 194, 241, 0.14);
}

.cw-day--other {
    color: #c0c0c0;
    cursor: default;
    border-color: transparent !important;
}

body.dark-theme .cw-day--other {
    color: #555;
}

.cw-day--today {
    background: linear-gradient(135deg, #4cde6e, #28a745);
    color: white !important;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(40, 167, 69, 0.35);
    border-color: transparent !important;
}

/* Загрузка — цвет периметра ячейки */
.cw-load-green  { border-color: #28a745; }
.cw-load-yellow { border-color: #ffc107; }
.cw-load-red    { border-color: #dc3545; }

/* Подсветка дней в диапазоне лимитов активного дела */
.cw-day--lim {
    background: linear-gradient(to bottom, transparent, rgba(100, 220, 100, 0.38));
}
