
.fc-event {
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;     /* number of visible lines */
    -webkit-box-orient: vertical;
}
#filtersPanel.d-none {
    display: none;
}
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

#calendar {
    min-height: 75vh; /* or 100vh if you want full screen */
}

@media (max-width: 768px) {
    #calendar {
        min-height: 85vh;
        font-size: 12px; /* smaller text for mobile */
    }

}
.fc-header-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}

/* Give chunks fixed order and control flex behavior */
.fc-header-toolbar .fc-toolbar-chunk {
    flex: 1;
}

.fc-header-toolbar .fc-toolbar-chunk:nth-child(1) {
    order: 1; /* title (left) */
    text-align: left;
}

.fc-header-toolbar .fc-toolbar-chunk:nth-child(2) {
    order: 3; /* center buttons go below on mobile */
    text-align: center;
    width: 100%;
}

.fc-header-toolbar .fc-toolbar-chunk:nth-child(3) {
    order: 2; /* prev/next (right) */
    text-align: right;
}

/* Desktop: all on one row */
@media (min-width: 576px) {
    .fc-header-toolbar {
        flex-wrap: nowrap;
    }

    .fc-header-toolbar .fc-toolbar-chunk:nth-child(2) {
        width: auto;
        order: 2;
    }

    .fc-header-toolbar .fc-toolbar-chunk:nth-child(3) {
        order: 3;
    }
}
.task-dot {
    width: 6px;
    height: 6px;
    background-color: #28a745;
    border-radius: 50%;
    position: absolute;
    top: 3px;
    right: 3px;
}


.has-task {
    position: relative;
}

td {
    transition: background-color 1s ease;
}

thead th {
    position: sticky;
    top: 0;
    background-color: #fff; /* match your table background */
    z-index: 10; /* ✅ high enough to stay above floating content */
}


.choices {
    z-index: 1025; /* higher than FullCalendar events */
    position: relative;
}

.read-marker { cursor: pointer; user-select:none; }
.read-marker .marker-text { border-bottom: 1px dotted transparent; }
.read-marker:hover .marker-text { border-bottom-color: currentColor; }
.read-marker.done .marker-text { text-decoration: line-through; opacity: .6; cursor: default; }

.nowrap { white-space: nowrap; }
@media (max-width: 576px) {
    .table td, .table th { padding: .5rem; }   /* tighter padding on phones */
}
/* one or two-line subject clamp inside tables */
.subject-text{
    display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden;
    -webkit-line-clamp:1;
}
@media (max-width:576px){
    .subject-text{-webkit-line-clamp:2;}
}
.date-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-left: 6px;
    vertical-align: middle;
}
