root = Card([header, zoneSection, summarySection, resourceSection, shelterSection, routeSection, weatherSection, casualtySection, volunteerSection, donationSection, aidSection, commSection, roadSection, hospitalSection, taskSection, requestForm, broadcastForm, focusSection, reportForm])
header = CardHeader("Emergency Response Coordination Center", "Live operational status")
zoneSection = Card([zoneHeading, zoneChart, zoneTable])
zoneHeading = Heading("Active Incidents by Zone", "h2")
zoneChart = BarChart(["Zone A", "Zone B", "Zone C", "Zone D"], [zoneSeries1, zoneSeries2], "grouped", "Zone", "Incidents")
zoneSeries1 = Series("Critical", [3, 5, 2, 4])
zoneSeries2 = Series("Moderate", [4, 2, 6, 3])
zoneTable = Table([zoneCol, severityCol])
zoneCol = Col("Zone", ["Zone A", "Zone B", "Zone C", "Zone D"])
severityCol = Col("Severity", ["High", "Critical", "Moderate", "High"])
summarySection = Card([summaryHeading, summaryCallout, summaryChart])
summaryHeading = Heading("Overall Severity Summary", "h2")
summaryCallout = Callout("warning", "Critical overall severity", "Zone B is at critical severity, immediate action required")
summaryChart = PieChart(["Critical", "High", "Moderate", "Low"], [5, 8, 11, 3])
resourceSection = Card([resourceHeading, resourceTable])
resourceHeading = Heading("Available Resources", "h2")
resourceTable = Table([resTypeCol, resCountCol])
resTypeCol = Col("Resource", ["Vehicles", "Personnel", "Supplies"])
resCountCol = Col("Available", [42, 156, 890])
shelterSection = Card([shelterHeading, shelterTable])
shelterHeading = Heading("Shelters", "h2")
shelterTable = Table([shelterNameCol, capacityCol, occupancyCol])
shelterNameCol = Col("Shelter", ["North Hall", "South Gym", "East Church", "West Center"])
capacityCol = Col("Capacity", [300, 250, 180, 400])
occupancyCol = Col("Occupancy", [210, 240, 95, 320])
routeSection = Card([routeHeading, routeList])
routeHeading = Heading("Evacuation Routes", "h2")
routeList = ListBlock([route1, route2, route3, route4], "number")
route1 = ListItem("Route 1 - Highway 9", "Open")
route2 = ListItem("Route 2 - Coastal Road", "Blocked")
route3 = ListItem("Route 3 - Mountain Pass", "Open")
route4 = ListItem("Route 4 - River Bridge", "Congested")
weatherSection = Card([weatherHeading, weatherChart])
weatherHeading = Heading("48-Hour Weather Forecast", "h2")
weatherChart = LineChart(["H0", "H6", "H12", "H18", "H24", "H30", "H36", "H42", "H48"], [tempSeries, rainSeries], "linear", "Time", "Value")
tempSeries = Series("Temp (°C)", [22, 21, 20, 19, 18, 17, 16, 16, 17])
rainSeries = Series("Rain (mm)", [0, 2, 5, 8, 12, 10, 6, 3, 1])
casualtySection = Card([casualtyHeading, casualtyTable])
casualtyHeading = Heading("Rescue Statistics", "h2")
casualtyTable = Table([statCol, valueCol])
statCol = Col("Metric", ["People Rescued", "Casualties"])
valueCol = Col("Count", [1240, 38])
volunteerSection = Card([volunteerHeading, volunteerTable])
volunteerHeading = Heading("Volunteers on Duty", "h2")
volunteerTable = Table([volNameCol, volAssignCol])
volNameCol = Col("Volunteer", ["Maria Lopez", "John Smith", "Aisha Khan", "David Chen", "Emma Wilson"])
volAssignCol = Col("Assignment", ["Zone B triage", "Shelter North Hall", "Supply logistics", "Route 3 patrol", "Communication desk"])
donationSection = Card([donationHeading, donationTable])
donationHeading = Heading("Donations Received", "h2")
donationTable = Table([donTypeCol, donAmountCol])
donTypeCol = Col("Donation", ["Monetary", "Food", "Clothing", "Medical"])
donAmountCol = Col("Amount", ["$250,000", "3,200 kg", "5,400 items", "800 kits"])
aidSection = Card([aidHeading, aidList])
aidHeading = Heading("Aid Requests Awaiting Action", "h2")
aidList = ListBlock([aid1, aid2, aid3])
aid1 = ListItem("Zone C - Medical supplies", "Priority: High")
aid2 = ListItem("Zone A - Drinking water", "Priority: Medium")
aid3 = ListItem("Zone D - Generators", "Priority: High")
commSection = Card([commHeading, commTable])
commHeading = Heading("Communication Channels", "h2")
commTable = Table([chanCol, statusCol])
chanCol = Col("Channel", ["Radio", "Satellite", "Mobile", "Internet", "Amateur"])
statusCol = Col("Status", ["Up", "Up", "Down", "Degraded", "Up"])
roadSection = Card([roadHeading, roadList])
roadHeading = Heading("Roads Closed", "h2")
roadList = ListBlock([road1, road2, road3])
road1 = ListItem("Coastal Road - Mile 12-18", "Flooding")
road2 = ListItem("Main Street Bridge", "Structural damage")
road3 = ListItem("Hillcrest Avenue", "Landslide")
hospitalSection = Card([hospitalHeading, hospitalTable])
hospitalHeading = Heading("Nearby Hospitals - Free Beds", "h2")
hospitalTable = Table([hospNameCol, freeBedsCol])
hospNameCol = Col("Hospital", ["St. Mary's", "General Hospital", "City Medical", "Mercy Care"])
freeBedsCol = Col("Free Beds", [45, 12, 78, 30])
taskSection = Card([taskHeading, taskTable])
taskHeading = Heading("Open Tasks", "h2")
taskTable = Table([taskCol, assigneeCol])
taskCol = Col("Task", ["Evacuate Zone B", "Restore power substation", "Distribute supplies", "Set up field hospital"])
assigneeCol = Col("Assignee", ["M. Lopez", "J. Smith", "A. Khan", "D. Chen"])
requestForm = Form("resource-request", requestButtons, [reqTypeField, reqQtyField])
reqTypeField = FormControl("Resource Type", reqTypeSelect)
reqTypeSelect = Select("resource_type", [reqType1, reqType2, reqType3, reqType4], "Select type")
reqType1 = SelectItem("vehicles", "Vehicles")
reqType2 = SelectItem("personnel", "Personnel")
reqType3 = SelectItem("supplies", "Supplies")
reqType4 = SelectItem("medical", "Medical")
reqQtyField = FormControl("Quantity", reqQtyInput)
reqQtyInput = Input("quantity", "Enter quantity", "number")
requestButtons = Buttons([requestSubmit])
requestSubmit = Button("Request Resources", null, "primary")
broadcastForm = Form("broadcast", broadcastButtons, [broadcastField])
broadcastField = FormControl("Message", broadcastInput)
broadcastInput = TextArea("message", "Write update to broadcast...")
broadcastButtons = Buttons([broadcastSubmit])
broadcastSubmit = Button("Broadcast Update", null, "primary")
focusSection = Card([focusHeading, focusSelect])
focusHeading = Heading("Focus on a Zone", "h2")
focusSelect = Select("focus_zone", [focusA, focusB, focusC, focusD], "Select zone")
focusA = SelectItem("zone_a", "Zone A")
focusB = SelectItem("zone_b", "Zone B")
focusC = SelectItem("zone_c", "Zone C")
focusD = SelectItem("zone_d", "Zone D")
reportForm = Form("situation-report", reportButtons, [reportField])
reportField = FormControl("Situation Report", reportInput)
reportInput = TextArea("report", "Describe the situation...")
reportButtons = Buttons([reportSubmit])
reportSubmit = Button("File Situation Report", null, "primary")