/* Additional component styles for GitHub Time Logger */

/* Loading states */
.loading-overlay {
    position: relative;
}

    .loading-overlay::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(255, 255, 255, 0.8);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1000;
    }

    .loading-overlay::before {
        content: '\f110';
        font-family: 'Font Awesome 6 Free';
        font-weight: 900;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 2rem;
        color: #0d6efd;
        animation: fa-spin 2s infinite linear;
        z-index: 1001;
    }

/* Button loading states */
.btn.loading {
    position: relative;
    color: transparent !important;
}

    .btn.loading::after {
        content: '\f110';
        font-family: 'Font Awesome 6 Free';
        font-weight: 900;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: currentColor;
        animation: fa-spin 1s infinite linear;
    }

/* Filter dropdowns */
.filter-panel {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
}

.compact-filters .form-check {
    padding: 0.25rem 0.5rem;
    margin: 0;
}

.compact-filters .form-check-input {
    margin-top: 0.125rem;
}

/* Multi-select dropdown button states */
.dropdown-toggle.all-selected {
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

.dropdown-toggle.has-selections {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: var(--bs-white);
}

.dropdown-toggle.none-selected {
    background-color: var(--bs-light);
    border-color: var(--bs-secondary);
    color: var(--bs-dark);
}

/* Diagnostic styles */
.diagnostic-info {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    padding: 1rem;
    margin: 1rem 0;
    font-family: 'Courier New', monospace;
    font-size: 0.875rem;
}

.diagnostic-success {
    color: #198754;
}

.diagnostic-warning {
    color: #ffc107;
}

.diagnostic-error {
    color: #dc3545;
}
