body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.min-vh-100 {
    min-height: 100vh;
}

.card {
    border: none;
    border-radius: 10px;
}

.card-header {
    border-radius: 10px 10px 0 0 !important;
}

.table-responsive {
    border-radius: 8px;
}

.btn {
    border-radius: 5px;
}

.form-control, .form-select {
    border-radius: 5px;
}

.stat-card {
    transition: transform 0.2s;
}

.stat-card:hover {
    transform: translateY(-5px);
}

.badge {
    padding: 0.5em 0.75em;
}

.room-card {
    border-left: 4px solid #0d6efd;
}

.room-card.full {
    border-left-color: #dc3545;
    opacity: 0.7;
}

.room-card.available {
    border-left-color: #198754;
}

student-card {
    border-left: 4px solid #6c757d;
}

.student-card.allocated {
    border-left-color: #198754;
}

.modal-content {
    border-radius: 10px;
}

alert {
    border-radius: 8px;
}

/* Sortable table header styles */
th[onclick] {
    user-select: none;
    transition: background-color 0.2s;
}

th[onclick]:hover {
    background-color: #f8f9fa;
}

th.sort-asc,
th.sort-desc {
    background-color: #e9ecef;
}

th .sort-icon {
    color: #6c757d;
    font-size: 0.875rem;
}

