import SwiftUI struct MetricCard: View { let icon: String let title: String let value: String let detail: String? let color: Color var body: some View { VStack(alignment: .leading, spacing: 12) { HStack(alignment: .center, spacing: 12) { ZStack { RoundedRectangle(cornerRadius: 10, style: .continuous) .fill(color.opacity(0.15)) Image(systemName: icon) .resizable() .scaledToFit() .frame(width: 18, height: 18) .foregroundColor(color) } .frame(width: 34, height: 34) Text(title) .font(.system(size: 13, weight: .semibold)) .lineLimit(1) .minimumScaleFactor(0.8) } Text(value) .font(.system(size: 24, weight: .black, design: .rounded)) .lineLimit(1) .minimumScaleFactor(0.6) if let detail, !detail.isEmpty { Text(detail) .font(.system(size: 11)) .foregroundColor(.secondary) .lineLimit(2) .multilineTextAlignment(.leading) .fixedSize(horizontal: false, vertical: true) } } .frame(maxWidth: .infinity, alignment: .topLeading) .padding(16) .background( RoundedRectangle(cornerRadius: 16, style: .continuous) .fill(.thinMaterial) ) } }