Shortcuts & conventions
Quick reference for the visual conventions used throughout the app.
Themes
Grace ships two themes. Light is the default (a warm paper palette with a gold #D69821 accent). Dark is an opt-in espresso palette. Switch between them from the gear (Organization) menu in the TopBar, under DISPLAY - tap LIGHT or DARK. The choice is remembered per browser.
Switching the theme flips the whole palette, so a few color-coded conventions below (strip colors, the trust dots) have different hues in each theme while keeping the same meaning.
The dot system
Every value Grace shows carries a small dot that encodes how much you can trust it. The dot is the trust layer, and it appears in every module.
| Dot | Meaning |
|---|---|
| 🔵 Blue | Grace produced it and it is not yet backed by a production source: an AI extraction, a rate-card or industry default, an autofill, or any value Grace derives that still depends on an unverified (blue) input. Visible and editable. |
| 🟡 Gold | A human's direct manual entry or edit. A hard override. |
| 🟢 Green | A value that has been verified. |
A few rules make the dots dependable:
- Gold is sticky and breaks the cascade. When you type a value by hand, Grace stops managing that cell and never auto-changes it. The only way out is you explicitly moving it: back to blue (let Grace manage it again) or up to green (accept it as verified). If a later verified document conflicts with a gold value, Grace raises a warning on that element, it never overwrites your gold entry.
- Green only ever upgrades a blue, never a gold. There are two ways a value turns green, shown in the tooltip: confirmed by a real production source (a signed or executed deal memo, contract, or PO), or derived entirely from your own trusted (gold/green) inputs.
- Green is not a permanent lock. A human can still override a green value, and it reverts to blue if the source it was verified from is voided.
See the dot system in concepts for the philosophy.
Strip colors
In the schedule and set dashboard, scene strips are color-coded by interior/exterior and day/night. Grace follows the Movie Magic convention of warm hues for DAY, cool hues for NIGHT, with interior and exterior distinguished within each. The exact hues come from theme variables, so a strip reads warm-day / cool-night in both Light and Dark.
| Strip type | Light theme | Dark theme |
|---|---|---|
| INT DAY | Olive-gold #8C7330 | Cream #E8DCC0 |
| EXT DAY | Amber #996B28 | Gold #F0D366 |
| INT NIGHT | Navy #2C4A7A | Cool blue #5B8DC9 |
| EXT NIGHT | Forest #3D5640 | Sage #6F8A6F |
Non-scene strips (lunch, company moves, second unit, stunt rehearsals, travel) have their own colors set per-strip.
Section accent colors
In the sidebar, each top-level section has an accent dot color:
| Section | Color |
|---|---|
| Story | Gold |
| Schedule & Locations | Purple |
| Budget | Green |
| Creative Prep | Orange |
| Roster | Blue |
| On-Set | Red |
| Coverage | Purple |
| The Vault | Blue |
| Settings | Muted gray |
Card accent colors
On the per-production dashboard, each card has a left-strip accent indicating its conceptual home:
- Gold - Day Header
- Green - Today On Set, Crew/Cast, Budget
- Blue - Call Sheet, Today's Scenes, Continuity
- Purple - Shot List, Editor Log, VFX Queue
The Compliance card's accent is dynamic: red when there are alerts, green when everything is clear, gold otherwise.
Status chips
Right-aligned status pills in card headers:
| Label | Color | Meaning |
|---|---|---|
| APPROVED | Green | Call sheet approved by AD |
| DRAFT | Muted | Not yet approved |
| SENT | Blue | Call sheet sent to crew |
| NOT BUILT | Muted | No call sheet for the day yet |
| WRAPPED | Green | Today's strip timeline complete |
| SHOOTING | Gold | Strip currently being shot |
| PREPPING | Gold | Strip in pre-roll prep |
| ARCHIVED | Red | Production archived |
| LOCKED | Gold | Production locked (read-only) |
In-app dialogs and toasts
Grace never uses a browser dialog. You will not see a native confirm / alert / prompt box anywhere in the app.
- Transient feedback (saved, sent, failed) appears as a toast in the bottom-right corner. Toasts auto-dismiss after about five seconds, or click to dismiss.
- Confirmations, text prompts, and blocking errors use an in-app dialog styled to match the rest of the chrome. Destructive actions ask for an explicit confirm first.
Typography
- Body: Segoe UI (system font on Windows / macOS / Linux).
- Monospace: Courier New. Used for labels, scene numbers, times, budget codes, channel IDs - anywhere alignment in a vertical column matters.
- Uppercase mono labels: section headers, card titles, kiosk-display data (DAY 1, CALL 07:00).
Time format
Times are HH:MM 24-hour. Inputs accept multiple formats and normalize to 24-hour:
| Input | Stored as |
|---|---|
0710 | 07:10 |
710 | 07:10 |
7:10 | 07:10 |
7:10 am | 07:10 |
710p | 19:10 |
19:10 | 19:10 |
Wrap-past-midnight is supported. 26:30 becomes 02:30 (next day) for display.
Date format
Dates render as Month Day, Year. Example: May 6, 2026. Consistent everywhere in the app regardless of browser locale.
Keyboard shortcuts
The web app doesn't have a global shortcut layer yet. Page-specific shortcuts:
- Schedule page - drag strips between days, tab between cells.
- Timecards page - Tab moves to next time cell, Enter saves the row.
- Set Dashboard - Click the status button on any strip to cycle prepping to shooting to wrapped.
Navigation chrome
A full-width TopBar sits above the sidebar on every dashboard page. The Grace brandmark lockup at its far left is the universal home control - click it to return to your productions from anywhere. The sidebar no longer carries a wordmark of its own; it holds the grouped section nav (Story, Schedule & Locations, Budget, Creative Prep, Roster, On-Set, Coverage, The Vault, Settings). The gear (Organization) menu on the right of the TopBar is where org settings, the theme toggle, and the in-app guide live.
URL conventions
- Per-production routes:
/dashboard/production/* - Pre-production routes:
/dashboard/pre-pro/* - Settings routes:
/dashboard/settings/* - Public share pages:
/s/<token>(call sheet shares),/vault/<token>(vault screeners) - Onboarding routes:
/welcome/* - Invite acceptance:
/invite/<token>
The app is served from us.graceproductionos.com.
Email senders
All app emails (except the sign-in / auth flow) come from @graceproductionos.com:
[email protected]- production invitations and beta invites[email protected]- call sheet sends[email protected]- vault share access codes[email protected]- the welcome email when you sign up
From-name is Grace Production OS for all of them. If you filter your inbox, whitelist @graceproductionos.com.
Authentication emails (sign-in verification codes, password resets) still come from Grace's identity provider for now.
Reply-to chain
Grace picks a reply-to address for each outgoing email using a fallback chain:
Default order: whoever sent the email, then 1st AD, then org owner, then [email protected].
Call sheets put the 1st AD first: 1st AD, then sender, then org owner, then the fallback. "Running late" and logistics questions hit the AD first.
The in-app guide
Grace teaches itself in-product. The first time you open a page, a short spotlight walkthrough highlights the key controls one step at a time. These guides cover almost every desktop page and only auto-launch once. To replay the guide for the page you are on, open the gear (Organization) menu in the TopBar and choose Show guide. This written reference is a companion to those in-app tours.
Related
- Concepts - the visual + philosophical foundations.
- Access control - role tiers, sections, gating.