← Back to workspace
⚡ Electra Design Language

Portable design spec

Everything needed to build another app that looks and behaves exactly like Electra Consumer — tokens, type, components, icon styles and interaction patterns. This file is self-contained; share it as-is.

Versionv1.1
Source appElectra Consumer prototype v2.1
TypefaceFigtree (Google Fonts)
Date9 Jul 2026

1Principles

Calm & utilitarian.

White cards on a cool gray canvas. Color is information, not decoration — indigo means interactive/status, coral means urgency, green means done.

Sharp geometry.

Every corner is 4px — cards, buttons, badges, inputs, sheets. The only circles allowed are functional: radio dots, step markers, avatars, success badges.

Compact density.

Sized for a 360–376px viewport. Base text 13.5px, titles 15.5px, generous whitespace between sections rather than inside components.

2Color tokens

Use CSS variables exactly as named. Status colors always ship as a trio: text color, 050 surface, and border.

SwatchTokenHexUsage
--pri#5B6EF5Accent: active nav, status badges, links, chart highlight, selection
--pri-600#4A5BE0Pressed / deep indigo (gradients)
--pri-050#EEF0FEIndigo surface (badges, pills, selected states)
--pri-brd#CCD4FCIndigo badge border
--ink#26313FTitles, values, key numbers
--slate#46566CSection headers
--body#5F6B7ABody copy
--muted#98A2B3Secondary text, timestamps, IDs
--label#8F99A8Key-value labels (left column)
--border#E9ECF1Card borders
--line#F0F2F5In-card dividers
--bg#F5F6F9Screen background (auth screens use #FFF)
--tile#F3F5F8Neutral icon tiles
--black#17181APrimary buttons & FAB (always black, never hover-shifts)
--ok / 050 #E9F7EF / brd #BFE8CF#34B369Done, resolved, success
--warn / 050 #FDF1DC / brd #F3DCA6#F59E0BAlerts, banner accents
--danger / 050 #FDEFEE / brd #F8CDCA#F0655CDue amounts, deadlines, SLA (a soft coral — never pure red)

3Typography

Figtree only. Weights: 400 body · 500 emphasis/buttons · 600 titles · 700 numbers/heros. Include:

<link href="https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&display=swap" rel="stylesheet">
RoleSize / weightColorSample
Auth title26px / 700--inkVerify Phone
Key figure23px / 700, −0.5px--ink₹1,842.00
Stat number20px / 700--ink218 units
App-bar title15.5px / 600--inkPayments
Section header14.5px / 600--slateMy applications
Card title13px / 600--inkNew Connection
Body / values12–13.5px / 400–500--body / --inkDomestic Service · due 18 Jul
Meta / IDs11px / 500--mutedAPP- 3391
Nav label11px / 500#4B5768Complaints

4Shape, spacing & elevation

Corners

  • 4px everywhere. Cards, buttons, inputs, badges, tiles, sheets (top corners), FAB.
  • Circles allowed only for: radio dots, stepper markers, avatars, success check badge.
  • Never use pill (999px) radii or 8–16px "friendly" rounding.

Spacing scale

  • Screen padding 16px · card padding 13px
  • Row gaps 7–8px · grid gaps 10px
  • Section rhythm: 16px above a section header, 9px below

Elevation

  • Cards: 0 1px 2px rgba(20,23,35,.03) + 1px border — borders do the work, not shadows.
  • FAB: 0 8px 20px rgba(16,20,28,.3)
  • Sheets: 0 -8px 30px rgba(16,20,28,.18), backdrop rgba(16,20,28,.45)
  • Drawer: 8px 0 30px rgba(16,20,28,.18)

Motion

  • Screen fade+4px rise · 180ms ease
  • Sheet slide-up 220ms · drawer slide-in 220ms
  • No hover effects on buttons.

5Iconography

Two families, used for different jobs. Never mix them in the same slot.

3D gradient icons — content tiles

Used in stat cards, action tiles, task-card thumbs and list rows. Built as SVG: gradient fills, a soft ground-shadow ellipse, white specular highlights.

Recipe: 64×64 viewBox · shadow ellipse cy=57 fill #1B2436 @12% · gradients: indigo #93A0FA→#4A5BE0, amber #FFD257→#F08C00, paper #FFF→#D9E0EA, slate #93A2B8→#57687F, green #6FDC9C→#23A05A, red #FF9A90→#E2544A.

Line icons — chrome & menus

Used in the bottom nav, app bar, drawer items and inline meta (pin, clock, chevrons). 24px grid, stroke 1.6–1.7, round caps & joins, color --slate (inactive nav #4B5768, active --pri).

Icon tiles behind 3D icons: --tile background, 4px radius. Drawer items use bare line icons — no tiles.

6Components

Buttons

Primary (always black, no hover) · Secondary · Ghost · FAB

New

FAB: bottom-right, 16px inset, floats above the tab bar. Labelled (+ New), never icon-only.

Badges, pills & chips

Status badges are always bordered · count pills boxed · connection chip w/ icon + chevron

Ongoing  Energised  Overdue  Rework   122   CA…1023

Stat card & action tile

Amount due
₹1,842
Bills

Action tiles are square (aspect-ratio 1), 3-up per row. Stat cards 2-up, icon top-right.

Task card — the signature component

APP- 3391
New Connection
Ongoing
Application ID1234567890
CategoryDomestic
Progress03 · Site Inspection
Address12, Arya Samaj Rd, Adarsh Nagar
2 hours left

Anatomy: muted ID (APP- 3391, note the space) over a 600-weight name · bordered status badge top-right · full-width hairline dividers · KV rows with a fixed 106px gray label column · footer holds only the time/SLA, right-aligned, coral for urgency.

Progress stepper

Submitted
Scrutiny
Site InspectionIn Progress
Energised

Green outline-check = done (connector turns green) · indigo ring-dot + bordered pill = current · gray = pending. 16px markers, 1.5px connectors.

Key-value breakdown (bills, fees)

Energy charges (218 units)₹1,420
Fixed charges₹210
Total payable₹1,842

Totals: 13.5px/700 in indigo — the only place an amount is colored.

Inputs

e.g. 100 2456 1023
🇮🇳 +91
9876543210
2241

Labels 11px/500 slate above the field. Phone input: flag + code + chevron box, digits justified edge-to-edge. OTP: 46px boxes, 15px digits.

Selection & list rows

UPI
Electricity bill · Jun 2026Home · CA …1023 · due 18 Jul
₹1,842
New connectionDomestic · Commercial · Industrial

Tabs & segments

Open 122Approved 12Rejected
UsageBill historyTariff

Underline tabs: 2px dark-ink underline on active, bordered count boxes (active count turns indigo). Segment control: recessed gray track, white raised active.

Callouts & banners

Security deposit is calculated and collected after scrutiny.
⚠️ Scheduled maintenance in your area, 12 Jul, 10am–1pm.

Info: indigo-050 surface. Alert banner: white card with a 3px amber left rail — placed at the top of the screen.

Bottom navigation

Home
Apply
Pay
Complaints

Max 4 tabs; account/settings live in the hamburger drawer, notifications behind the header bell.

Charts & live indicators (v1.1)

Thin generation bars (15-min / hourly / daily) — amber

Dual thin bars — import (indigo) vs export (green), 5px, centered pairs

Import Export

Sun-level indicator — animated bars: high / medium / low

High    Medium    Low

Segment controls switch chart ranges (Today / This week / This month). Grid-interaction and generation values use amber for solar, indigo for import, green for export.

Conversational intake (v1.1)

Bot & voice bubbles · quick-answer chips · type/speak composer with pulsing mic

Hi Rekha 👋 Tap the mic and describe what's happening.
Voice · 0:14
“Power has been out since 8 in the morning…”
High — no power at allMediumLow
Type or speak…

Complaints are filed conversationally: voice-first with live transcription, chips for structured answers, and an auto-composed summary card the user confirms. Open tickets carry a message thread with the same composer; Reopen appears only on closed tickets.

7Interaction patterns

Shell

  • App bar: hamburger (roots) / back arrow (sub-screens) + 15px title + connection chip + bell. Chip hides on sub-screens.
  • Drawer: initials avatar (two letters, indigo-050 circle), line-icon items in groups — main group top, a large flexible spacer, then Preferences / Privacy / Log out anchored at bottom with uniform row spacing.
  • Launch: black "ELECTRA CONSUMER" wordmark splash (letter-spaced caps) that animates out into login.
  • Auth screens: pure white, no chrome; bordered icon tile → bold title → gray subtitle; forms bottom-anchored near the thumb. Mobile entry uses a +91 chip + 10 digit boxes; OTP verify has a resend timer.

Flows

  • Bottom sheets for payments: tapping a due item slides up a sheet (grab handle, title + ✕, breakdown, black pay button) over a dimmed backdrop. Never a full screen for a breakdown.
  • FAB for creation: list-first screens (Applications, Complaints) show "My …" content; creating something new is a labelled black FAB.
  • Steppers for status: anything with a lifecycle renders the progress stepper inside a card.
  • Conversational intake: complaints are filed by talking to a bot — voice bubbles, chips, auto summary. Threads on open tickets; Reopen only when closed.
  • Multi-step forms: segment control as step indicator (1 · Details / 2 · Docs / 3 · Pay) + save-as-draft secondary button.

8Starter tokens (copy-paste)

:root {
  --pri:#5b6ef5;  --pri-600:#4a5be0;  --pri-050:#eef0fe;  --pri-brd:#ccd4fc;
  --ink:#26313f;  --slate:#46566c;  --body:#5f6b7a;  --muted:#98a2b3;  --label:#8f99a8;
  --line:#f0f2f5; --border:#e9ecf1; --bg:#f5f6f9;   --tile:#f3f5f8;   --black:#17181a;
  --ok:#34b369;   --ok-050:#e9f7ef;   --ok-brd:#bfe8cf;
  --warn:#f59e0b; --warn-050:#fdf1dc; --warn-brd:#f3dca6;
  --danger:#f0655c; --danger-050:#fdefee; --danger-brd:#f8cdca;
  --r:4px;
  font-family:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:13.5px; color:var(--ink);
}
/* Rules of thumb:
   1. Corners: 4px everywhere; circles only when functionally round.
   2. Primary actions: black (#17181a), white text, no hover effect.
   3. Status = bordered badge (bg 050 + border brd + colored text).
   4. Urgency/amounts due: coral #f0655c, never pure red.
   5. Cards: #fff, 1px #e9ecf1 border, 0 1px 2px rgba(20,23,35,.03).
   6. 3D gradient icons for content, 1.6px line icons for chrome. */

Electra Design Language v1.1 · extracted from Electra Consumer prototype v2.1 · This document is self-contained and safe to share externally.