import { StyleSheet } from 'react-native'; import { typography, spacing, borderRadius, shadow } from '@theme'; export const getStyles = (colors: any) => StyleSheet.create({ container: { flex: 1, backgroundColor: colors.background, }, scrollContainer: { paddingHorizontal: spacing.lg, paddingTop: spacing.md, paddingBottom: spacing.xxl + 40, }, infoBanner: { backgroundColor: colors.primaryLight, borderRadius: borderRadius.lg, padding: spacing.lg, marginBottom: spacing.lg, borderWidth: 1, borderColor: colors.border, flexDirection: 'row', alignItems: 'center', }, infoIconContainer: { width: 44, height: 44, borderRadius: borderRadius.full, backgroundColor: colors.primary, justifyContent: 'center', alignItems: 'center', marginRight: spacing.md, }, infoTextContainer: { flex: 1, }, infoTitle: { fontSize: typography.fontSize.md, fontWeight: typography.fontWeight.bold, color: colors.primaryDark || colors.primary, marginBottom: 2, }, infoSub: { fontSize: typography.fontSize.xs, color: colors.textSecondary, lineHeight: 18, }, formCard: { backgroundColor: colors.cardBg, borderRadius: borderRadius.lg, padding: spacing.lg, borderWidth: 1, borderColor: colors.border, ...shadow.sm, }, fieldContainer: { marginBottom: spacing.lg, }, labelRow: { flexDirection: 'row', alignItems: 'center', marginBottom: spacing.xs + 2, }, label: { fontSize: typography.fontSize.sm, fontWeight: typography.fontWeight.semibold, color: colors.text, }, requiredStar: { color: colors.error, marginLeft: 4, fontSize: typography.fontSize.sm, fontWeight: typography.fontWeight.bold, }, input: { backgroundColor: colors.inputBg, borderWidth: 1, borderColor: colors.border, borderRadius: borderRadius.md, paddingHorizontal: spacing.md, paddingVertical: spacing.md - 2, fontSize: typography.fontSize.md, color: colors.text, }, inputError: { borderColor: colors.error, }, errorText: { fontSize: typography.fontSize.xs, color: colors.error, marginTop: 4, }, toggleRow: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', backgroundColor: colors.inputBg, padding: spacing.md, borderRadius: borderRadius.md, borderWidth: 1, borderColor: colors.border, marginBottom: spacing.lg, }, toggleTextContainer: { flex: 1, marginRight: spacing.md, }, toggleTitle: { fontSize: typography.fontSize.sm, fontWeight: typography.fontWeight.bold, color: colors.text, marginBottom: 2, }, toggleSub: { fontSize: typography.fontSize.xs, color: colors.textSecondary, }, uploadBox: { backgroundColor: colors.inputBg, borderWidth: 1.5, borderStyle: 'dashed', borderColor: colors.border, borderRadius: borderRadius.md, padding: spacing.lg, alignItems: 'center', justifyContent: 'center', }, uploadBoxActive: { borderColor: colors.primary, borderStyle: 'solid', backgroundColor: colors.primaryLight, }, uploadIconCircle: { width: 42, height: 42, borderRadius: borderRadius.full, backgroundColor: colors.cardBg, justifyContent: 'center', alignItems: 'center', marginBottom: spacing.xs, }, uploadTitle: { fontSize: typography.fontSize.sm, fontWeight: typography.fontWeight.bold, color: colors.primary, marginBottom: 2, }, uploadSub: { fontSize: typography.fontSize.xs, color: colors.textSecondary, }, filePreviewRow: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', width: '100%', }, fileInfo: { flexDirection: 'row', alignItems: 'center', flex: 1, marginRight: spacing.sm, }, fileThumbnail: { width: 40, height: 40, borderRadius: borderRadius.sm, marginRight: spacing.sm, }, fileName: { fontSize: typography.fontSize.sm, fontWeight: typography.fontWeight.semibold, color: colors.text, }, fileSize: { fontSize: typography.fontSize.xs, color: colors.textSecondary, marginTop: 2, }, removeBtn: { paddingHorizontal: spacing.sm, paddingVertical: spacing.xs, borderRadius: borderRadius.sm, backgroundColor: colors.errorLight, }, removeBtnText: { fontSize: typography.fontSize.xs, color: colors.error, fontWeight: typography.fontWeight.bold, }, errorBanner: { backgroundColor: colors.errorLight, borderRadius: borderRadius.md, padding: spacing.md, marginBottom: spacing.lg, borderWidth: 1, borderColor: colors.error, }, errorBannerText: { fontSize: typography.fontSize.sm, color: colors.error, fontWeight: typography.fontWeight.medium, }, submitBtn: { backgroundColor: colors.primary, borderRadius: borderRadius.md, paddingVertical: spacing.md + 2, alignItems: 'center', justifyContent: 'center', marginTop: spacing.sm, ...shadow.md, }, submitBtnDisabled: { opacity: 0.6, }, submitBtnText: { fontSize: typography.fontSize.md, fontWeight: typography.fontWeight.bold, color: colors.white, }, });