root = Card([header, statusStrip, occupancySection, erSection, admissionsSection, deptSection, staffSection, criticalSection, dischargeSection, orSection, suppliesSection, incidentSection, dayNavSection, transferSection], "card", "column", "xl")

header = CardHeader("Hospital Operations Command", "Live overview — all departments")

statusStrip = Card([statusInfo, statusWarning, statusCritical], "sunk", "row", "m")
statusInfo = TextCallout("info", "System operational", "All monitored services are online.")
statusWarning = TextCallout("warning", "ER at capacity", "ER occupancy is above 90% for the past 4 hours.")
statusCritical = TextCallout("danger", "ICU critical", "3 critical patients require immediate attention.")

occupancySection = Card([occupancyHeading, occupancyChart], "sunk", "column", "m")
occupancyHeading = Heading("Bed Occupancy", "h3")
occupancyChart = BarChart(["General", "ICU", "Pediatrics", "Surgery", "Maternity"], [occSeries], "grouped", "Department", "Beds")
occSeries = Series("Occupied", [82, 24, 31, 45, 28])
occTotal = Series("Available", [18, 6, 9, 5, 12])

erSection = Card([erHeading, erCallout, erDetail], "sunk", "column", "m")
erHeading = Heading("Current ER Wait", "h3")
erCallout = Callout("warning", "Average wait time", "45 minutes (target: under 30)")
erDetail = TextContent("**Current ER patients:** 38 | **Awaiting beds:** 12 | **Wait range:** 15–90 min")

admissionsSection = Card([admissionsHeading, admissionsChart], "sunk", "column", "m")
admissionsHeading = Heading("Admissions — Past Two Weeks", "h3")
admissionsChart = LineChart(["D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11", "D12", "D13", "D14"], [admSeries], "natural", "Day", "Admissions")
admSeries = Series("Admissions", [18, 22, 19, 25, 21, 27, 24, 20, 23, 26, 22, 28, 25, 30])

deptSection = Card([deptHeading, deptChart], "sunk", "column", "m")
deptHeading = Heading("Patients per Department", "h3")
deptChart = HorizontalBarChart(["Cardiology", "Neurology", "Orthopedics", "Oncology", "Emergency", "Internal Medicine"], [deptSeries], "grouped", "Patients", "Department")
deptSeries = Series("Current patients", [34, 22, 28, 18, 38, 45])

staffSection = Card([staffHeading, staffTable], "sunk", "column", "m")
staffHeading = Heading("Staff on Shift", "h3")
staffTable = Table([staffName, staffRole, staffDept])
staffName = Col("Name", ["Dr. A. Patel", "Dr. M. Chen", "Nurse J. Okafor", "Nurse L. Reyes", "Dr. S. Kim", "Tech R. Novak"])
staffRole = Col("Role", ["Attending Physician", "Resident", "RN — Charge", "RN — ER", "Surgeon", "Lab Technician"])
staffDept = Col("Department", ["ICU", "ER", "Surgery", "ER", "OR", "Pathology"])

criticalSection = Card([criticalHeading, criticalList], "sunk", "column", "m")
criticalHeading = Heading("Critical Patients", "h3")
criticalList = ListBlock([crit1, crit2, crit3], "number")
crit1 = ListItem("Patient #4821 — ICU", "Unstable vitals, requires ventilator monitoring")
crit2 = ListItem("Patient #4890 — Cardiology", "Post-MI, arrhythmia watch")
crit3 = ListItem("Patient #4932 — ER", "Severe sepsis, awaiting ICU bed")

dischargeSection = Card([dischargeHeading, dischargeList], "sunk", "column", "m")
dischargeHeading = Heading("Ready for Discharge", "h3")
dischargeList = ListBlock([dis1, dis2, dis3, dis4], "number")
dis1 = ListItem("Patient #4765 — Room 204", "Discharge summary pending MD sign-off")
dis2 = ListItem("Patient #4778 — Room 311", "Awaiting transport confirmation")
dis3 = ListItem("Patient #4801 — Room 118", "Medication reconciliation complete")
dis4 = ListItem("Patient #4812 — Room 402", "Family notified, awaiting pickup")

orSection = Card([orHeading, orTable], "sunk", "column", "m")
orHeading = Heading("Today's Operating Room Bookings", "h3")
orTable = Table([orTime, orRoom, orProcedure, orSurgeon])
orTime = Col("Time", ["07:30", "08:15", "10:00", "11:30", "13:00", "15:00"])
orRoom = Col("Room", ["OR-1", "OR-2", "OR-3", "OR-1", "OR-2", "OR-4"])
orProcedure = Col("Procedure", ["Appendectomy", "Knee replacement", "C-section", "Cholecystectomy", "Hip replacement", "Tumor resection"])
orSurgeon = Col("Surgeon", ["Dr. Kim", "Dr. Rossi", "Dr. Patel", "Dr. Novak", "Dr. Kim", "Dr. Chen"])

suppliesSection = Card([suppliesHeading, suppliesTable], "sunk", "column", "m")
suppliesHeading = Heading("Supplies Running Low", "h3")
suppliesTable = Table([supplyItem, supplyLevel, supplyStatus])
supplyItem = Col("Item", ["Saline IV bags", "Surgical gloves (M)", "Blood type O-", "Insulin pens", "PPE gowns"])
supplyLevel = Col("Level", ["12%", "18%", "9%", "22%", "15%"])
supplyStatus = Col("Status", ["Reorder now", "Reorder now", "Critical", "Reorder soon", "Reorder now"])

incidentSection = Card([incidentHeading, incidentForm], "sunk", "column", "m")
incidentHeading = Heading("File an Incident", "h3")
incidentForm = Form("incident-report", incidentButtons, [incidentTypeField, incidentDescField, incidentSeverityField])
incidentTypeField = FormControl("Incident type", incidentTypeSelect)
incidentTypeSelect = Select("incident_type", [incTypeMed, incTypeSafety, incTypeEquip, incTypeOther], "Select type")
incTypeMed = SelectItem("medical", "Medical error")
incTypeSafety = SelectItem("safety", "Safety hazard")
incTypeEquip = SelectItem("equipment", "Equipment failure")
incTypeOther = SelectItem("other", "Other")
incidentDescField = FormControl("Description", incidentDescArea, "Provide details of the incident")
incidentDescArea = TextArea("incident_desc", "Describe what happened...", 4)
incidentSeverityField = FormControl("Severity", incidentSeverityRadio)
incidentSeverityRadio = RadioGroup("incident_severity", [sevLow, sevMed, sevHigh])
sevLow = RadioItem("Low", "Minor impact", "low")
sevMed = RadioItem("Medium", "Moderate impact", "medium")
sevHigh = RadioItem("High", "Critical impact", "high")
incidentButtons = Buttons([incidentSubmit, incidentCancel])
incidentSubmit = Button("Submit incident", null, "primary")
incidentCancel = Button("Cancel", null, "tertiary")

dayNavSection = Card([dayNavHeading, dayNavButtons], "sunk", "column", "m")
dayNavHeading = Heading("Look at Another Day", "h3")
dayNavText = TextContent("Select a date to view historical operations data (admissions, OR bookings, occupancy).")
dayNavButtons = Buttons([prevDayBtn, datePickerBtn, nextDayBtn])
prevDayBtn = Button("◀ Previous day")
datePickerBtn = Button("Open calendar", null, "secondary")
nextDayBtn = Button("Next day ▶")

transferSection = Card([transferHeading, transferForm], "sunk", "column", "m")
transferHeading = Heading("Request a Patient Transfer", "h3")
transferForm = Form("transfer-request", transferButtons, [transferPatientField, transferFromField, transferToField, transferReasonField])
transferPatientField = FormControl("Patient ID", transferPatientInput)
transferPatientInput = Input("patient_id", "e.g. 4821")
transferFromField = FormControl("From department", transferFromSelect)
transferFromSelect = Select("from_dept", [deptER, deptICU, deptCard, deptGen], "Current department")
deptER = SelectItem("er", "Emergency")
deptICU = SelectItem("icu", "ICU")
deptCard = SelectItem("cardiology", "Cardiology")
deptGen = SelectItem("general", "General")
transferToField = FormControl("To department", transferToSelect)
transferToSelect = Select("to_dept", [deptICU, deptCard, deptGen, deptSurg], "Target department")
deptSurg = SelectItem("surgery", "Surgery")
transferReasonField = FormControl("Reason", transferReasonArea)
transferReasonArea = TextArea("transfer_reason", "Clinical justification...", 3)
transferButtons = Buttons([transferSubmit, transferCancel])
transferSubmit = Button("Request transfer", null, "primary")
transferCancel = Button("Cancel", null, "tertiary")