/* FullCalendar theme overrides */
:root {
    --fc-button-bg-color:        #2e7d32;
    --fc-button-border-color:    #2e7d32;
    --fc-button-hover-bg-color:  #1b5e20;
    --fc-button-active-bg-color: #1b5e20;
    --fc-today-bg-color:         #f0f7f0;
    --fc-border-color:           #e0e0e0;
}

.nb-calendar-wrap {
    max-width: 960px;
    margin: 0 auto;
    font-family: inherit;
}

/* Filter form */
.nb-filter-form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 1.2em;
    align-items: center;
}

.nb-filter-form input[type="text"] {
    flex: 2;
    min-width: 160px;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 0.9em;
}

.nb-filter-form select {
    flex: 1;
    min-width: 130px;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 0.9em;
    background: #fff;
    cursor: pointer;
}

.nb-filter-form button[type="submit"] {
    padding: 8px 20px;
    background: #2e7d32;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 0.9em;
    cursor: pointer;
    white-space: nowrap;
}

.nb-filter-form button[type="submit"]:hover { background: #1b5e20; }

.nb-filter-form .nb-clear-btn {
    padding: 8px 14px;
    background: transparent;
    color: #666;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 0.9em;
    cursor: pointer;
}

/* List view extras */
.fc-list-event-detail,
.fc-list-event-source {
    font-size: 0.8em;
    color: #666;
    padding: 1px 0 1px 8px;
    display: block;
}

.fc-list-event-source { font-style: italic; color: #999; }

.fc-event-title { font-weight: 500; }

/* Month view: make event dots slightly taller */
.fc-daygrid-event { font-size: 0.82em; }

@media (max-width: 600px) {
    .nb-filter-form { flex-direction: column; }
    .nb-filter-form input,
    .nb-filter-form select { min-width: 100%; }
}
