root = Card([header, loadSection, capacitySection, generationSection, plantSection, outageSection, forecastSection, priceSection, maintenanceSection, alertsSection, regionFocusForm, curtailSection, emissionsSection])
header = CardHeader("Network Operator Console", "Live network status")
loadHeader = Heading("Current Load", "h3")
loadValue = TextContent("1245 MW", "large")
loadStatus = Tag("100%", null, null, "success")
loadSection = Card([loadHeader, loadValue, loadStatus])
capacityHeader = Heading("Capacity Utilization", "h3")
capacityProgress = Progress(0.95, "95%")
capacitySection = Card([capacityHeader, capacityProgress])
generationLabels = ["Solar", "Wind", "Gas", "Coal", "Hydro", "Nuclear"]
generationValues = [3500, 4200, 2800, 1500, 1200, 2000]
generationChart = PieChart(generationLabels, generationValues, "pie", "circular")
generationSection = Card([generationChart])
plantCols = [Col("Plant", ["Plant A", "Plant B", "Plant C", "Plant D"], "string"), Col("Output (MW)", [1200, 800, 1500, 900], "number"), Col("Status", ["running", "online", "offline", "maintenance"], "action")]
plantTable = Table(columns=plantCols)
plantSection = Card([plantTable])
outageCols = [Col("Region", ["North", "South", "East"], "string"), Col("Affected Area", ["10km radius", "5km radius", "8km radius"], "string"), Col("Status", ["active", "resolved", "planned"], "action")]
outageTable = Table(columns=outageCols)
outageSection = Card([outageTable])
forecastLabels = ["00","02","04","06","08","10","12","14","16","18","20","22","24"]
forecastValues = [8000, 7500, 7200, 6800, 6600, 6400, 6200, 6000, 5800, 5600, 5400, 5200, 5000]
forecastSeries = Series("Demand", forecastValues)
forecastChart = LineChart(forecastLabels, [forecastSeries], "linear", "Hour", "MW")
forecastSection = Card([forecastChart])
priceTag = Tag("12.5$/MWh", null, null, "info")
priceSection = Card([priceTag])
maintenanceItems = ["Plant A turbine inspection", "Substation B upgrade", "Line C replacement"]
maintenanceList = ListBlock(maintenanceItems)
maintenanceSection = Card([maintenanceList])
alerts = []
alertsList = ListBlock(alerts)
alertsSection = Card([alertsList])
regionItems = [SelectItem("North", "North"), SelectItem("South", "South"), SelectItem("East", "East"), SelectItem("All", "All")]
regionSelect = Select("region_filter", regionItems, "All")
regionFocusForm = Card([regionSelect])
curtailmentRegionField = FormControl("Region", regionSelect, "Choose region to curtail")
curtailBtn = Button("Order Curtailment", null, "primary", "normal", "medium")
cancelBtn = Button("Cancel", null, "tertiary", "normal", "medium")
formButtons = Buttons([curtailBtn, cancelBtn])
curtailForm = Form("curtailment_form", formButtons, [curtailmentRegionField])
curtailSection = Card([curtailForm])
emissionsTag = Tag("850 tCO2", null, null, "info")
emissionsSection = Card([emissionsTag])