/* Custom styles for Auto-Grading Admin UI */

/* Sidebar spacing when not in full-width mode */
.container-fluid {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

/* Card improvements */
.card {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.card-header {
    background-color: #f8f9fa;
    font-weight: 500;
}

/* Table improvements */
.table th {
    font-weight: 600;
    background-color: #f8f9fa;
}

/* Code styling */
code {
    background-color: #f8f9fa;
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
}

/* Dashboard stat cards */
.card.bg-primary, .card.bg-success, .card.bg-info, .card.bg-warning {
    border: none;
}

.card.bg-primary .card-footer a,
.card.bg-success .card-footer a,
.card.bg-info .card-footer a {
    opacity: 0.8;
    text-decoration: none;
}

.card.bg-primary .card-footer a:hover,
.card.bg-success .card-footer a:hover,
.card.bg-info .card-footer a:hover {
    opacity: 1;
}

/* HTMX loading indicator */
.htmx-indicator {
    display: none;
}

.htmx-request .htmx-indicator {
    display: inline-block;
}

.htmx-request.htmx-indicator {
    display: inline-block;
}

/* Form improvements */
.form-label {
    font-weight: 500;
}

/* Breadcrumb styling */
.breadcrumb {
    background-color: transparent;
    padding: 0;
    margin-bottom: 0;
}

/* Alert improvements */
.alert {
    border-left-width: 4px;
}

.alert-success {
    border-left-color: #198754;
}

.alert-danger {
    border-left-color: #dc3545;
}

.alert-warning {
    border-left-color: #ffc107;
}

.alert-info {
    border-left-color: #0dcaf0;
}

/* Definition list styling */
dl dt {
    font-weight: 600;
    color: #6c757d;
    font-size: 0.875rem;
    margin-top: 0.75rem;
}

dl dt:first-child {
    margin-top: 0;
}

dl dd {
    margin-bottom: 0;
}

/* Tab improvements */
.nav-tabs .nav-link {
    color: #495057;
}

.nav-tabs .nav-link.active {
    font-weight: 500;
}

/* Button spacing in action columns */
.table td .btn + .btn {
    margin-left: 0.25rem;
}
