/* Custom styles for ProblemDB application */

/* Header and footer styling */
.header, .footer {
    background-color: #0d6efd;
    height: 75px;
}

/* Remove margin and padding from body and html to eliminate white space */
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}

/* FIX: Make footer stick to bottom */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.container-fluid {
    flex: 1;
}

/* Footer positioning fix */
.footer {
    margin-top: auto;
}

/* Sidebar styling */
.sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    padding: 48px 0 0;
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}

.sidebar .nav-link {
    font-weight: 500;
    color: #333;
}

.sidebar .nav-link.active {
    color: #007bff;
}

/* Main content area */
main {
    padding-top: 20px;
}

/* Problem card styling */
.problem-card {
    transition: transform 0.2s;
}

.problem-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Category accordion styling */
.accordion-button:not(.collapsed) {
    background-color: #0099ff;
    color: white;
}

/* Table styling */
.table th {
    background-color: #0099ff;
    color: white;
}

/* Button styling */
.btn-primary {
    background-color: #0099ff;
    border-color: #0099ff;
}

.btn-primary:hover {
    background-color: #0077cc;
    border-color: #0077cc;
}

/* Custom badge colors */
.badge.bg-primary {
    background-color: #0099ff !important;
}

/* Form styling */
.form-control:focus {
    border-color: #0099ff;
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 255, 0.25);
}

/* Login page specific styles */
.login-container {
    min-height: 100vh;
}

.login-welcome {
    background-color: #0099ff;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
    .sidebar {
        position: static;
        padding-top: 0;
    }
    
    main {
        padding-top: 0;
    }
}

/* Jitsi container */
#jitsi-meet-container {
    border-radius: 5px;
    border: 1px solid #dee2e6;
}

/* Activity log styling */
.activity-log {
    max-height: 300px;
    overflow-y: auto;
}

/* Solution modal styling */
.solution-content {
    white-space: pre-wrap;
}

/* Document and model card styling */
.document-card, .model-card {
    transition: transform 0.2s;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.document-card:hover, .model-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* File type icons */
.fa-file-pdf {
    color: #e74c3c;
}

.fa-file-word {
    color: #2b579a;
}

.fa-file-alt {
    color: #27ae60;
}

.fa-cube {
    color: #3498db;
}