/* Monthly Schedule Table */
.eccc-monthly-schedule {
    margin: 1.5em 0;
}

/* Navigation */
.eccc-monthly-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1em;
}

.eccc-monthly-title {
    font-size: 1.3em;
    font-weight: 700;
    color: #1a1a1a;
}

.eccc-monthly-nav-link {
    text-decoration: none;
    font-weight: 600;
    color: #24890d;
    padding: 4px 10px;
    border-radius: 4px;
    transition: background 0.15s;
}

.eccc-monthly-nav-link:hover {
    background: #eef7ec;
}

/* Table wrapper for horizontal scroll on small screens */
.eccc-monthly-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Table */
.eccc-monthly-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    min-width: 600px;
}

.eccc-monthly-table th,
.eccc-monthly-table td {
    padding: 8px 12px;
    border: 1px solid #e5e7eb;
    text-align: left;
    white-space: nowrap;
}

/* Header row (dates) */
.eccc-monthly-table thead th {
    background: #2563eb;
    color: #fff;
    font-weight: 600;
    text-align: center;
}

.eccc-monthly-table thead th a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.eccc-monthly-table thead th a:hover {
    opacity: 0.85;
}

.eccc-monthly-table thead th.eccc-monthly-label-col {
    background: #1e40af;
    text-align: left;
}

/* Label column (role names) */
.eccc-monthly-table tbody th.eccc-monthly-label-col {
    background: #f9fafb;
    font-weight: 600;
    color: #555;
    min-width: 150px;
    white-space: nowrap;
}

/* Data cells */
.eccc-monthly-table tbody td {
    color: #1a1a1a;
    text-align: center;
}

/* Zebra striping */
.eccc-monthly-table tbody tr:nth-child(even) {
    background: #f9fafb;
}

.eccc-monthly-table tbody tr:hover td,
.eccc-monthly-table tbody tr:hover th {
    background: #f0f7ef;
}

/* Empty value indicator */
.eccc-monthly-table .eccc-empty-value {
    color: #ccc;
}

/* Empty month message */
.eccc-monthly-empty {
    text-align: center;
    color: #888;
    padding: 2em 0;
    font-style: italic;
}
