Canvas Design System
Main Site Tokens

Workshopr Planner App

The Workshopr Planner is the drag-and-drop workshop agenda builder. It uses a professional SaaS layout with a sidebar (activity library), primary pane (agenda builder), and contextual detail panels.

App Identity

Phase
Plan
Primary Color
#0284C7
Font Stack
Fraunces + Inter

Design Philosophy

The Planner is a workspace, not a webpage. It borrows from productivity tools like Notion and Linear -- clean, structured, and highly functional.

view_column
Three-column layout
The Studio uses a sidebar (activity library) + primary pane (agenda builder) + right rail (item details) pattern. This keeps the workspace organized and discoverable.
drag_indicator
Direct manipulation
Drag-and-drop for reordering, inline editing for titles and durations, click-to-expand for details. Every interaction should feel immediate, not modal.
linear_scale
Progressive disclosure
Start with the essentials (name, duration, drag items). Advanced features (AI suggestions, export, calendar) reveal as the agenda takes shape. Don't overwhelm an empty workspace.
density_medium
High information density
Unlike the marketing site, the Planner uses tighter spacing (16px gaps, 12px padding) and smaller text (13-14px body). It's a tool, not a brochure.

Color Tokens

Sky blue palette for the Plan phase. Clean, focused, professional.

Core Palette

Primary
--planner-primary
#0284C7
Dark
--planner-dark
#075985
Light
--planner-light
#BAE6FD
Very Light
--planner-very-light
#E0F2FE

Activity Type Colors

Each activity type has a distinct color for quick visual identification.

Exercise
Icebreaker
Break
Custom
Primary UI
/* Planner app tokens (defined in css/base/_variables.css) */
--planner-primary: #0284C7;
--planner-dark: #075985;
--planner-light: #BAE6FD;
--planner-very-light: #E0F2FE;
--planner-accent: #F0F9FF;
--planner-gradient: linear-gradient(135deg, #0284C7 0%, #075985 100%);

/* Activity type tokens (also in _variables.css) */
--planner-exercise-color: #2563EB;   /* Blue */
--planner-icebreaker-color: #22C55E; /* Green */
--planner-break-color: var(--gray-500); /* Gray */
--planner-custom-color: #9333EA;     /* Purple */

/* CSS load order (header.php, modern path):
   1. <link> css/base/_variables.css
      └─ @import platform-tokens.css  (source of truth)
   2. <link> css/planner-v2.css       (main styles, consumes tokens)
   3. <link> css/planner-new.css      (incremental overrides)
   4. Deferred: _history.css, _exercise-builder.css, run-mode.css */

Layout Patterns

The Planner uses a persistent three-column layout optimized for workshop building.

Planner Layout Structure
┌──────────────────────────────────────────────────┐
│  Top Bar (workshop name, duration, actions)       │
├─────────┬──────────────────────┬─────────────────┤
│         │                      │                 │
│ Sidebar │   Primary Pane       │   Right Rail    │
│ (240px) │   (flex-1)           │   (320px)       │
│         │                      │                 │
│ Activity│   Agenda Builder     │   Item Details  │
│ Library │   (drag-and-drop)    │   / Properties  │
│         │                      │                 │
└─────────┴──────────────────────┴─────────────────┘
Column Content Key Features
Sidebar Exercise/icebreaker library by category Category tabs, search, drag source
Primary Pane Drag-and-drop agenda builder Timeline ruler, day dividers, cumulative time
Right Rail Selected item details Description, materials, facilitator notes

Key Components

Planner-specific UI patterns built for workshop creation workflows.

Activity Card (Sidebar)
Planner-specific
Compact cards in the sidebar library showing exercise name, duration badge, and category color dot. Draggable to the agenda. Hover reveals a quick-add button.
Agenda Item Row
Planner-specific
Draggable rows in the primary pane showing item title, inline-editable duration, type icon, and drag handle. Active item has a blue left border. Supports multi-day agendas with day dividers.
Right Rail Detail Panel
Planner-specific
Contextual detail panel that slides in when an agenda item is selected. Shows full exercise description, materials, instructions, and facilitator notes. Uses sticky header for item title.
Top Bar
Planner-specific
Fixed header bar showing workshop name (inline editable), total duration, progress indicator, and action buttons (save, export, share). Uses planner primary color accent.
Duration Calculator
Shared + extended
Auto-calculates total workshop duration from individual items. Displayed in the page header and updates live as items are added/removed/reordered.

Do / Don't

Do: Use inline editing
Click-to-edit for titles and durations. No modal forms for simple changes.
Don't: Open modals for every edit
Modals break flow. Reserve them for complex actions (delete confirmation, share).
Do: Use compact spacing in tool UI
16px gaps, 12px padding, 13px text. The Studio is a workspace, not a landing page.
Don't: Use marketing-style spacing
48px gaps and 18px text waste precious screen real estate in a tool interface.
Do: Keep the three-column layout stable
Sidebar, primary pane, and rail widths should stay consistent across phases.
Don't: Collapse layout between phases
Users rely on spatial memory. Moving elements breaks their mental model.

Shared Components Used

Component Usage Customization
ws_tabs() Sidebar category filters Compact variant for sidebar
ws_card_start() Activity cards, agenda items Compact variant, draggable attribute
ws_badge() Duration labels, category tags, day markers Blue variant for planner badges
ws_input() Plan name, custom item entry, search Inline-edit mode (borderless until focus)
ws_modal_start() Delete confirm, share workshop, export Standard usage
ws_empty_state() Empty agenda, no search results Blue accent icon
ws_toast*() Saved, duplicated, deleted notifications Standard usage
ws_tooltip() Drag handles, action buttons, phase info Standard usage
ws_activity_badge() Type badges on agenda items and sidebar cards exercise / icebreaker / break / custom types
ws_suggestion_card() AI suggestion panel results Type-colored with add-to-agenda action
ws_modal_footer() Export, share, cleanup, calendar modals Cancel + primary, or left + cancel + primary
ws_results_overlay() Cleanup results, operation outcomes Overlay variant inside modals
ws_checkbox_card_group() Cleanup options panel Toggle switches with icon colors
ws_radio_card_group() Export format picker 4-column grid with icons
ws_chip_input() Calendar invite attendee list Email type with person_add icon