.file-upload-area {
    border: 2px dashed rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 2rem;
    text-align: center;
    transition: var(--transition);
    cursor: pointer;
    background: rgba(30, 30, 46, 0.3);
}
.file-upload-area:hover, .file-upload-area.dragover {
    border-color: var(--primary);
    background: rgba(100, 108, 255, 0.05);
}
.file-upload-icon {
    font-size: 2.5rem;
    color: var(--gray);
    margin-bottom: 1rem;
}
.file-upload-text {
    margin-bottom: 1rem;
}
.file-upload-text h3 {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}
.file-upload-text p {
    color: var(--gray);
}
.file-input {
    display: none;
}
.file-upload-btn {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background: var(--primary);
    color: white;
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
}
.file-upload-btn:hover {
    background: var(--primary-dark);
}
.file-info {
    margin-top: 1rem;
    padding: 1rem;
    background: rgba(30, 30, 46, 0.5);
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.file-info i {
    color: var(--primary);
}
.file-details {
    flex: 1;
}
.file-name {
    font-weight: 500;
    margin-bottom: 0.25rem;
}
.file-size {
    font-size: 0.85rem;
    color: var(--gray);
}
.file-remove {
    color: var(--danger);
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 4px;
    transition: var(--transition);
}
.file-remove:hover {
    background: rgba(255, 100, 100, 0.1);
}