root = Card([header, summaryRow, activitiesCard, contactsCard, followUpsCard, renewalWarning, noteCard, callLogDialog], "card", "column", "l")
header = CardHeader("Acme Corporation", "Owned by Sarah Chen · Account Executive")
summaryRow = Card([valueStat, stageStat, renewalStat], "sunk", "row", "m", "center", "between")
valueStat = TextContent("**$250,000**\nTotal Deal Value", "large-heavy")
stageStat = TextContent("**Negotiation**\nCurrent Stage", "large-heavy")
renewalStat = TextContent("**Feb 15, 2026**\nRenewal Date", "large-heavy")
activitiesCard = Card([activityHeading, activityList], "sunk")
activityHeading = Heading("Recent Activity", "h2")
activityList = ListBlock([act1, act2, act3, act4], "number")
act1 = ListItem("Sent proposal to procurement", "Today, 2:34 PM")
act2 = ListItem("Held demo with IT team", "Yesterday, 11:05 AM")
act3 = ListItem("Sent renewal reminder", "Jan 28, 10:15 AM")
act4 = ListItem("Called admin contact — left voicemail", "Jan 27, 4:40 PM")
contactsCard = Card([contactsHeading, contactsTable], "sunk")
contactsHeading = Heading("Contacts", "h2")
contactsTable = Table([contactCol, roleCol])
contactCol = Col("Contact", ["Alice Johnson", "Bob Martinez", "Carla Ruiz", "David Kim"])
roleCol = Col("Role", ["VP Procurement", "IT Director", "Finance Manager", "Legal Counsel"])
followUpsCard = Card([followUpsHeading, followUpsTable], "sunk")
followUpsHeading = Heading("Open Follow-ups", "h2")
followUpsTable = Table([taskCol, dueCol])
taskCol = Col("Open Follow-up", ["Email updated pricing", "Confirm renewal terms", "Schedule QBR", "Get contract signature"])
dueCol = Col("Due Date", ["Feb 10, 2026", "Feb 12, 2026", "Feb 18, 2026", "Feb 20, 2026"])
renewalWarning = Callout("warning", "Renewal approaching", "Acme's subscription renews on Feb 15, 2026 — 23 days from today. Start renewal conversations now.")
noteCard = Card([noteHeading, noteForm], "sunk")
noteHeading = Heading("Jot a Note", "h2")
noteForm = Form("quick-note", noteButtons, [noteField])
noteField = FormControl("Note", noteInput, "Saves to the account timeline")
noteInput = TextArea("note", "Type a quick note...", 3)
noteButtons = Buttons([saveNoteBtn])
saveNoteBtn = Button("Save note", null, "primary")
callLogDialog = DialogBlock("Log Call", "Log a Call", "Record details from your latest conversation", [callForm])
callForm = Form("log-call", callButtons, [callDateField, callContactField, callNotesField])
callDateField = FormControl("Call date", callDateInput)
callDateInput = Input("call_date", "e.g. 2026-02-10")
callContactField = FormControl("Contact", callContactSelect)
callContactSelect = Select("call_contact", [contactA, contactB, contactC], "Who did you talk to?")
contactA = SelectItem("alice", "Alice Johnson")
contactB = SelectItem("bob", "Bob Martinez")
contactC = SelectItem("carla", "Carla Ruiz")
callNotesField = FormControl("Notes", callNotesInput)
callNotesInput = TextArea("call_notes", "Summary of the conversation...", 4)
callButtons = Buttons([saveCallBtn, cancelCallBtn])
saveCallBtn = Button("Save call", null, "primary")
cancelCallBtn = Button("Cancel", null, "tertiary")