
        .document-card {
            transition: transform 0.2s, box-shadow 0.2s;
            margin-bottom: 20px;
            height: 100%;
        }
        
        .document-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
        }
        
        .document-thumb {
            height: 180px;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: #f8f9fa;
            border-radius: 0.25rem 0.25rem 0 0;
            position: relative;
        }
        
        .document-thumb img {
            max-height: 100%;
            max-width: 100%;
            object-fit: contain;
        }
        
        .document-thumb .document-icon {
            font-size: 4rem;
            color: #6c757d;
        }
        
        .document-card .card-body {
            padding: 1rem;
        }
        
        .document-title {
            font-weight: 500;
            margin-bottom: 0.25rem;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        
        .document-date {
            font-size: 0.8rem;
            color: #6c757d;
        }
        
        .document-category {
            position: absolute;
            top: 10px;
            right: 10px;
            padding: 0.25rem 0.5rem;
            font-size: 0.75rem;
            border-radius: 0.25rem;
        }
        
        .document-file-info {
            font-size: 0.75rem;
            color: #6c757d;
            margin-top: 0.5rem;
        }
        
        .category-filter-btn {
            margin-right: 5px;
            margin-bottom: 5px;
        }
        
        .category-filter-btn.active {
            background-color: #0d6efd;
            color: white;
        }
        
        .upload-area {
            border: 2px dashed #dee2e6;
            border-radius: 5px;
            padding: 30px;
            text-align: center;
            margin-bottom: 20px;
            background-color: #f8f9fa;
            cursor: pointer;
            transition: background-color 0.2s;
        }
        
        .upload-area:hover {
            background-color: #e9ecef;
        }
        
        .upload-area i {
            font-size: 3rem;
            color: #6c757d;
            margin-bottom: 15px;
        }
        
        #template-gallery .card {
            cursor: pointer;
            transition: transform 0.2s;
        }
        
        #template-gallery .card:hover {
            transform: translateY(-5px);
        }
        
        .category-badge {
            font-size: 0.7rem;
            padding: 0.25em 0.6em;
        }
        
        .document-actions {
            position: absolute;
            top: 10px;
            left: 10px;
            display: none;
        }
        
        .document-thumb:hover .document-actions {
            display: block;
        }
        
        .document-card .favorite-btn {
            position: absolute;
            bottom: 10px;
            right: 10px;
            background: rgba(255, 255, 255, 0.8);
            border: none;
            border-radius: 50%;
            width: 30px;
            height: 30px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: transform 0.2s;
        }
        
        .document-card .favorite-btn:hover {
            transform: scale(1.2);
        }
        
        .favorite-btn .fa-star {
            color: #adb5bd;
        }
        
        .favorite-btn.active .fa-star {
            color: #ffc107;
        }
        
        .tab-content {
            padding-top: 20px;
        }
        
        #document-preview-modal .modal-body {
            height: 60vh;
            overflow-y: auto;
        }
        
        #document-preview {
            width: 100%;
            height: 100%;
        }
        
        #document-preview img {
            max-width: 100%;
        }
        
        #document-preview iframe {
            width: 100%;
            height: 100%;
            border: none;
        }
        
        #document-preview-placeholder {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            height: 100%;
            color: #6c757d;
        }
        
        #document-preview-placeholder i {
            font-size: 4rem;
            margin-bottom: 1rem;
        }
        
        .loading-spinner {
            display: none;
            justify-content: center;
            margin: 2rem 0;
        }
        
        /* For smaller screens */
        @media (max-width: 576px) {
            .document-thumb {
                height: 150px;
            }
            
            .filters-row {
                flex-direction: column;
            }
            
            .filters-row > div {
                margin-bottom: 10px;
            }
        }
        
        .full-height {
            min-height: 300px;
        }
        
        .folder-card {
            text-align: center;
            padding: 15px;
            transition: transform 0.2s, box-shadow 0.2s;
            cursor: pointer;
        }
        
        .folder-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
        }
        
        .folder-icon {
            font-size: 3rem;
            margin-bottom: 10px;
            color: #ffc107;
        }
        
        .folder-name {
            font-weight: 500;
        }
        
        .folder-info {
            font-size: 0.8rem;
            color: #6c757d;
        }
        
        .breadcrumb-container {
            margin-bottom: 20px;
        }
 