import { StyleSheet, Dimensions } from 'react-native'; import { typography, spacing, borderRadius, shadow } from '@theme'; const { width, height } = Dimensions.get('window'); export const getStyles = (colors: any) => StyleSheet.create({ container: { flex: 1, backgroundColor: colors.background, }, scrollContainer: { paddingHorizontal: spacing.lg, paddingTop: spacing.md, paddingBottom: spacing.xxl, }, summaryCard: { backgroundColor: colors.primaryLight, borderRadius: borderRadius.lg, padding: spacing.lg, marginBottom: spacing.lg, borderWidth: 1, borderColor: colors.border, flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', }, summaryLeft: { flex: 1, }, summaryTitle: { fontSize: typography.fontSize.lg, fontWeight: typography.fontWeight.bold, color: colors.primaryDark || colors.primary, marginBottom: spacing.xs, }, summarySub: { fontSize: typography.fontSize.sm, color: colors.textSecondary, }, summaryBadge: { backgroundColor: colors.primary, paddingHorizontal: spacing.md, paddingVertical: spacing.xs, borderRadius: borderRadius.full, }, summaryBadgeText: { fontSize: typography.fontSize.xs, fontWeight: typography.fontWeight.bold, color: colors.white, }, sectionTitle: { fontSize: typography.fontSize.md, fontWeight: typography.fontWeight.bold, color: colors.text, marginBottom: spacing.md, }, docCard: { backgroundColor: colors.cardBg, borderRadius: borderRadius.lg, padding: spacing.lg, marginBottom: spacing.md, borderWidth: 1, borderColor: colors.border, ...shadow.sm, }, cardHeader: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', marginBottom: spacing.md, }, cardHeaderLeft: { flexDirection: 'row', alignItems: 'center', flex: 1, marginRight: spacing.sm, }, iconContainer: { width: 44, height: 44, borderRadius: borderRadius.md, backgroundColor: colors.primaryLight, justifyContent: 'center', alignItems: 'center', marginRight: spacing.md, }, docTypeContainer: { flex: 1, }, docTitle: { fontSize: typography.fontSize.md, fontWeight: typography.fontWeight.bold, color: colors.text, marginBottom: 2, }, docNumber: { fontSize: typography.fontSize.xs, color: colors.textSecondary, fontWeight: typography.fontWeight.medium, }, statusBadge: { paddingHorizontal: spacing.sm, paddingVertical: 4, borderRadius: borderRadius.sm, alignSelf: 'flex-start', }, statusText: { fontSize: typography.fontSize.xs - 2, fontWeight: typography.fontWeight.bold, letterSpacing: 0.5, }, divider: { height: 1, backgroundColor: colors.divider, marginVertical: spacing.md, }, detailsRow: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', marginBottom: spacing.md, }, detailItem: { flex: 1, }, detailLabel: { fontSize: typography.fontSize.xs - 1, color: colors.textSecondary, marginBottom: 2, }, detailValue: { fontSize: typography.fontSize.xs, color: colors.text, fontWeight: typography.fontWeight.semibold, }, viewButton: { backgroundColor: colors.inputBg, borderWidth: 1, borderColor: colors.border, borderRadius: borderRadius.md, paddingVertical: spacing.sm, paddingHorizontal: spacing.md, flexDirection: 'row', alignItems: 'center', justifyContent: 'center', }, viewButtonText: { fontSize: typography.fontSize.sm, fontWeight: typography.fontWeight.semibold, color: colors.primary, marginRight: spacing.xs, }, filePill: { flexDirection: 'row', alignItems: 'center', backgroundColor: colors.inputBg, paddingHorizontal: spacing.md, paddingVertical: spacing.xs + 2, borderRadius: borderRadius.sm, maxWidth: '70%', }, fileNameText: { fontSize: typography.fontSize.xs, color: colors.textSecondary, marginLeft: spacing.xs, }, // Full Screen Modal Styles modalContainer: { flex: 1, backgroundColor: colors.background, }, modalHeader: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', paddingHorizontal: spacing.lg, paddingTop: spacing.xl, paddingBottom: spacing.md, backgroundColor: colors.cardBg, borderBottomWidth: 1, borderBottomColor: colors.border, ...shadow.sm, }, modalHeaderInfo: { flex: 1, marginRight: spacing.md, }, modalTitle: { fontSize: typography.fontSize.lg, fontWeight: typography.fontWeight.bold, color: colors.text, }, modalSubtitle: { fontSize: typography.fontSize.xs, color: colors.textSecondary, marginTop: 2, }, closeButton: { width: 38, height: 38, borderRadius: borderRadius.full, backgroundColor: colors.inputBg, justifyContent: 'center', alignItems: 'center', }, viewerContainer: { flex: 1, backgroundColor: '#121212', justifyContent: 'center', alignItems: 'center', }, pdfViewer: { flex: 1, width: width, height: height, backgroundColor: '#121212', }, imageViewer: { width: '100%', height: '100%', }, loadingContainer: { position: 'absolute', zIndex: 10, justifyContent: 'center', alignItems: 'center', backgroundColor: 'rgba(0,0,0,0.4)', padding: spacing.xl, borderRadius: borderRadius.lg, }, loadingText: { color: colors.white, marginTop: spacing.md, fontSize: typography.fontSize.sm, fontWeight: typography.fontWeight.medium, }, emptyContainer: { alignItems: 'center', justifyContent: 'center', paddingVertical: spacing.huge, }, emptyTitle: { fontSize: typography.fontSize.lg, fontWeight: typography.fontWeight.bold, color: colors.text, marginTop: spacing.md, }, emptySub: { fontSize: typography.fontSize.sm, color: colors.textSecondary, marginTop: spacing.xs, }, });