body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
}

.footer {
    margin-top: auto;
}

.card {
    border-radius: 10px;
}

.card-header {
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

.navbar-brand {
    font-weight: bold;
    font-size: 1.5rem;
}

.spinner-border {
    animation: spinner-border 0.75s linear infinite;
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg);
    }
}

.table th {
    background-color: #f8f9fa;
}

.alert {
    border-radius: 8px;
}

.btn {
    border-radius: 6px;
}

.btn-lg {
    padding: 12px 24px;
    font-size: 1.1rem;
}
