/* Custom Styles */

/* Subtle border color for inputs */
.form-control, .form-select {
    border-color: #e2e8f0 !important;
}

.form-control:focus, .form-select:focus {
    border-color: #cbd5e1 !important;
    box-shadow: 0 0 0 0.25rem rgba(226, 232, 240, 0.5) !important;
}

.form-label{
  font-weight: 600;
  color: #000000;
}

.card{
  border-radius: 12px;
}

/* Attendance Report Styles */
.attendance-container {
    max-height: 70vh;
    overflow: auto;
    position: relative;
    border: 1px solid #e2e8f0;
}

.attendance-table {
    border-collapse: separate;
    border-spacing: 0;
}

.attendance-table th, .attendance-table td {
    vertical-align: middle;
    border-color: #cbd5e1;
    padding: 0.25rem;
}

.attendance-table th.sticky-col,
.attendance-table td.sticky-col {
    position: sticky;
    left: 0;
    z-index: 10;
    background-color: #fff;
    border-right: 2px solid #cbd5e1;
}

.attendance-table th.first-col,
.attendance-table td.first-col {
    left: 0;
    width: 50px;
    min-width: 50px;
    text-align: center;
}

.attendance-table th.second-col,
.attendance-table td.second-col {
    left: 50px; /* Width of first col */
    min-width: 180px;
}

.attendance-table thead th {
    position: sticky;
    top: 0;
    z-index: 11;
    background-color: #f8fafc;
    border-bottom: 2px solid #cbd5e1;
}

.attendance-table thead th.sticky-col {
    z-index: 12;
}

.day-header {
    width: 35px;
    min-width: 35px;
    font-size: 0.9rem;
    font-weight: bold;
}

.attendance-check {
    width: 1.4em;
    height: 1.4em;
    border: 2px solid #94a3b8;
    cursor: pointer;
}

.attendance-check:checked {
    background-color: #198754;
    border-color: #198754;
}

.friday-col {
    background-color: #fecaca !important;
}

/* Calendar View */
#calendar {
    min-height: 600px;
}
.fc-event-title {
    font-weight: bold;
    white-space: normal;
}
