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, paddingBottom: spacing.xxxl, }, header: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', marginTop: 20, marginBottom: spacing.lg, }, greetingText: { fontSize: typography.fontSize.sm, color: colors.textSecondary, }, nameText: { fontSize: typography.fontSize.xl, fontWeight: typography.fontWeight.bold, color: colors.text, marginTop: 2, }, toggleWrapper: { flexDirection: 'row', alignItems: 'center', backgroundColor: colors.inputBg, paddingHorizontal: spacing.sm, paddingVertical: 6, borderRadius: borderRadius.full, borderWidth: 1, borderColor: colors.border, }, statusDot: { width: 8, height: 8, borderRadius: 4, marginRight: 6, }, statusText: { fontSize: typography.fontSize.xs, fontWeight: typography.fontWeight.bold, }, offlineBanner: { backgroundColor: colors.errorLight, paddingVertical: spacing.md, paddingHorizontal: spacing.lg, borderRadius: borderRadius.md, marginBottom: spacing.lg, alignItems: 'center', borderWidth: 1, borderColor: colors.error, }, offlineBannerText: { fontSize: typography.fontSize.sm, color: colors.error, fontWeight: typography.fontWeight.medium, }, summaryCard: { backgroundColor: colors.cardBg, borderRadius: borderRadius.lg, padding: spacing.xl, marginBottom: spacing.lg, ...shadow.md, borderWidth: 1, borderColor: colors.border, }, summaryTitle: { fontSize: typography.fontSize.sm, fontWeight: typography.fontWeight.bold, color: colors.textSecondary, textTransform: 'uppercase', marginBottom: spacing.lg, }, statsRow: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', }, statBox: { flex: 1, alignItems: 'center', }, statVal: { fontSize: typography.fontSize.xl, fontWeight: typography.fontWeight.bold, color: colors.text, marginBottom: 4, }, statLabel: { fontSize: typography.fontSize.xs, color: colors.textSecondary, }, statDivider: { width: 1, height: 32, backgroundColor: colors.border, }, promptCard: { backgroundColor: colors.cardBg, borderRadius: borderRadius.lg, padding: spacing.xl, alignItems: 'center', marginBottom: spacing.lg, ...shadow.md, borderWidth: 1, borderColor: colors.border, }, promptTitle: { fontSize: typography.fontSize.lg, fontWeight: typography.fontWeight.bold, color: colors.text, textAlign: 'center', marginBottom: spacing.sm, }, promptDesc: { fontSize: typography.fontSize.sm, color: colors.textSecondary, textAlign: 'center', marginBottom: spacing.xl, lineHeight: 20, }, onlineBtn: { width: '100%', }, performanceCard: { backgroundColor: colors.cardBg, borderRadius: borderRadius.lg, padding: spacing.xl, marginBottom: spacing.lg, ...shadow.md, borderWidth: 1, borderColor: colors.border, }, perfTitle: { fontSize: typography.fontSize.sm, fontWeight: typography.fontWeight.bold, color: colors.textSecondary, textTransform: 'uppercase', marginBottom: spacing.md, }, perfRow: { flexDirection: 'row', justifyContent: 'space-between', }, perfBox: { alignItems: 'center', flex: 1, }, perfVal: { fontSize: typography.fontSize.lg, fontWeight: typography.fontWeight.bold, color: colors.text, marginBottom: 2, }, perfLabel: { fontSize: 10, color: colors.textSecondary, }, chartCard: { backgroundColor: colors.cardBg, borderRadius: borderRadius.lg, padding: spacing.xl, marginBottom: spacing.lg, ...shadow.md, borderWidth: 1, borderColor: colors.border, }, chartTitle: { fontSize: typography.fontSize.sm, fontWeight: typography.fontWeight.bold, color: colors.textSecondary, textTransform: 'uppercase', marginBottom: spacing.lg, }, chartRow: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'flex-end', height: 120, paddingBottom: 8, }, barContainer: { alignItems: 'center', flex: 1, }, bar: { width: 14, borderRadius: borderRadius.sm, backgroundColor: colors.primary, }, barLabel: { fontSize: 10, color: colors.textSecondary, marginTop: 8, }, barVal: { fontSize: 8, color: colors.text, marginBottom: 4, fontWeight: 'bold', }, offlineBtn: { width: '100%', marginBottom: spacing.xl, }, simulateBtn: { marginVertical: spacing.sm, backgroundColor: colors.primaryLight, borderColor: colors.primary, borderWidth: 1, paddingVertical: 8, borderRadius: borderRadius.sm, alignItems: 'center', }, simulateBtnText: { color: colors.primary, fontWeight: 'bold', fontSize: typography.fontSize.sm, }, helpSection: { marginTop: spacing.sm, }, helpTitle: { fontSize: typography.fontSize.sm, fontWeight: typography.fontWeight.bold, color: colors.textSecondary, textTransform: 'uppercase', marginBottom: spacing.md, }, helpRow: { flexDirection: 'row', justifyContent: 'space-between', gap: 10, }, helpItem: { flex: 1, backgroundColor: colors.cardBg, borderRadius: borderRadius.md, padding: spacing.md, alignItems: 'center', borderWidth: 1, borderColor: colors.border, ...shadow.sm, }, helpLabel: { fontSize: typography.fontSize.xs, fontWeight: typography.fontWeight.bold, color: colors.text, marginTop: spacing.sm, textAlign: 'center', }, helpSub: { fontSize: 9, color: colors.textSecondary, marginTop: 2, textAlign: 'center', }, });