.folder-card {
    transition: transform .15s ease, box-shadow .15s ease;
    cursor: default;
}
.folder-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,.1);
}
.folder-card .card-body a:hover p {
    color: var(--bs-primary) !important;
}
.breadcrumb {
    background: var(--bs-tertiary-bg);
    padding: .5rem 1rem;
    border-radius: var(--bs-border-radius);
}
.upload-dropzone {
    border: 2px dashed var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    padding: 2rem;
    text-align: center;
    transition: all .15s ease;
    cursor: pointer;
}
.upload-dropzone:hover,
.upload-dropzone.dragover {
    border-color: var(--bs-primary);
    background: var(--bs-primary-bg-subtle);
}
.upload-progress {
    height: 4px;
    margin-top: .5rem;
    display: none;
}
.upload-progress.active {
    display: block;
}

.preview-content {
    background: var(--bs-tertiary-bg);
    border-radius: var(--bs-border-radius);
    overflow-x: auto;
    white-space: pre-wrap;
    word-wrap: break-word;
    max-height: 70vh;
}

.modal-image {
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
}

.file-icon-lg {
    font-size: 3rem;
}
