/* Loading spinner overlay */
.files-loading-spinner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
    gap: 16px;
    grid-column: 1 / -1;
}

.files-loading-spinner .spinner {
    width: 36px;
    height: 36px;
    border: 3px solid var(--color-border);
    border-top-color: var(--color-accent);
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.files-loading-spinner span {
    font-size: 14px;
    color: var(--color-text-placeholder);
    font-weight: 500;
}

.dropzone {
    border: 2px dashed var(--color-border-ddd);
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    margin: 20px 0;
    color: var(--color-text-medium);
    display: none;
}

.dropzone-icon {
    font-size: 32px;
    margin-bottom: 10px;
}

.dropzone.active {
    border-color: var(--color-accent);
    background-color: var(--color-accent-ring-xs);
}

.upload-progress {
    margin-top: 15px;
    width: 100%;
    display: none;
}

.progress-bar {
    background-color: var(--color-bg-empty);
    height: 6px;
    border-radius: 3px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    background-color: var(--color-accent);
    width: 0%;
    transition: width 0.3s;
}
