:root {
            --primary-color: #9c27b0;
            --secondary-color: #f06292;
            --light-gray: #f8f9fa;
            --dark-gray: #6c757d;
        }
        body { font-family: 'Segoe UI', sans-serif; line-height: 1.6; color: #333; }
        .step-number {
            width: 30px; height: 30px; background-color: var(--primary-color); color: white;
            border-radius: 50%; display: flex; align-items: center; justify-content: center;
            margin-right: 10px; flex-shrink: 0;
        }
        .file-preview-card {
            width: 100%; max-width: 600px; margin: 10px auto; display: flex; flex-direction: row;
            align-items: flex-start; border: 1px solid #dee2e6; border-radius: 8px; padding: 12px;
            background-color: white; box-shadow: 0 2px 4px rgba(0,0,0,0.05); transition: all 0.2s ease;
        }
        .file-preview-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
        .file-preview-image {
            width: 120px; height: 120px; display: flex; align-items: center; justify-content: center;
            background-color: #f8f9fa; border-radius: 4px; border: 1px solid #eee; margin-right: 15px;
            flex-shrink: 0; overflow: hidden;
        }
        .file-info { flex-grow: 1; min-width: 0; overflow: hidden; }
        .file-info .fw-bold { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
        .file-actions { display: flex; flex-direction: column; gap: 8px; min-width: 120px; align-self: center; }
        .results-section { display: none; }
        .result-file-card {
            display: flex; align-items: center; padding: 15px; margin-bottom: 15px;
            background-color: #f8f9fa; border-radius: 8px;
        }
        .result-file-icon {
            width: 60px; height: 60px; display: flex; align-items: center; justify-content: center;
            background-color: white; border-radius: 6px; margin-right: 15px; font-size: 1.8rem;
            color: var(--primary-color); overflow: hidden;
        }
        .conversion-stats { margin-top: 20px; padding-top: 20px; border-top: 1px solid #eee; }
        .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); }
        .btn-primary:hover { background-color: #8e24aa; border-color: #8e24aa; }
        .btn-secondary { background-color: var(--secondary-color); border-color: var(--secondary-color); }
        .btn-secondary:hover { background-color: #ec407a; border-color: #ec407a; }
        .combine-text { color: var(--primary-color); }
        .pdf-text { color: var(--secondary-color); }
        @media (max-width: 768px) {
            .file-preview-card { flex-direction: column; align-items: center; }
            .file-preview-image { margin-right: 0; margin-bottom: 15px; width: 100%; height: 150px; }
            .file-actions { flex-direction: row; justify-content: center; width: 100%; }
        }
        #previewModal .modal-content {
            max-height: 80vh; overflow-y: auto;
        }
        .pdf-preview-canvas { border: 1px solid #eee; margin-bottom: 10px; }
        .page-container { display: flex; flex-direction: column; }
        .docx-preview {
            padding: 10px;
            word-break: break-word;
            overflow-x: auto;
            overflow-y: auto;
            max-width: 100%;
            max-height: 60vh;
            white-space: normal;
        }
        .upload-icon {
            font-size: 4rem;
            color: var(--primary-color);
            margin-bottom: 1rem;
        }
        
        .language-selector {
            position: fixed;
            top: 20px;
            right: 20px;
            z-index: 1000;
        }
        .loader {
            display: flex; justify-content: center; align-items: center; height: 100%;
            background-color: rgba(255, 255, 255, 0.8); position: fixed; top: 0; left: 0; width: 100%; z-index: 1000;
        }
        .conversion-error { color: #dc3545; font-weight: bold; margin-top: 10px; }