JSOOR Tech · Repair

The design system, consolidated for code. Four themes, fifteen components, one app shell, eight laws. Switch the accent and the mode in the bar above — everything on this page follows, because nothing here carries a literal. This page scrolls; it is a reference document, and it is the only carve-out from law 1.

The eight laws

A screen that breaks one is wrong even if it looks good.

1 · Never scrollNeither axis. Fit by condensing, tabbing, paging or dropping a column. A scrollbar is a design failure.
2 · Charcoal leads72% neutral, 22% charcoal, 6% accent. Primary buttons are charcoal. The accent is the focus ring and the one move that matters.
3 · One tone mapSeven tones, same meaning on every surface. Never an eighth.
4 · Token-drivenNo colour, space, radius or shadow literal in a component. Theme by class swap.
5 · Accessibility floorFocus rings, 44px targets, AA contrast, real semantics, full keyboard, reduced-motion safe.
6 · Tabular numeralsOn money and counts. EGP as a small uppercase suffix, once.
7 · RTL first-classLogical properties only. Icons flip. Figures stay LTR inside an RTL row.
8 · The gesture fits the jobSame IA, same a11y. Dense console for operators, expand-in-place for managers, guided flow for sales.

The charcoal spine

Twelve steps. It carries the structure of every surface.

The seven state tones

Colour reinforces. The word is the message — every chip carries its label.

Settled On its way Needs you Cancelled Held Guest Closed Live INV-2026-0418
MeaningToneClass
Active · Completed · Paid · Verifiedokjs-chip--ok
Pending · Held · Waiting · Auto-expiredinfojs-chip--info
Payment due · Overdue · Needs youwarnjs-chip--warn
Cancelled · Voided · Failed · Refundbadjs-chip--bad
Frozen · Pausedfrozenjs-chip--frozen
Guest · Day passguestjs-chip--guest
Expired · Inactive · Closed · Staleneutraljs-chip

The four themes

Class swap on the surface root. Nothing else changes.

Voltage · Light — default
Settled
Circuit Gold · Light — .acc-gold
Settled
Voltage · Dark — .dark
Settled
Circuit Gold · Dark — .acc-gold.dark
Settled

C02 · The slab

One per screen. The only big number. Pattern B opens with it.

Needs you
7 orders
18,450 EGP waiting on the shop

C03 · C04 · Buttons

Primary is charcoal. Buttons name the outcome and read the same as the toast.

A disabled control states its reason on screen. Gating is allowed; hiding that a capability exists is banned.

C06 · C07 · Tabs, segmented, pager

1/7

C08 · The board

Rows are buttons; the whole row is the target. Fit, then page.

Order · customerStateItemsTotal EGP

C10 · Tiles

The register grid. Out of stock is a hatched, unpressable tile — not a hidden one.

CHG-65WOut
65W GaN charger
1,150EGP

C11 · Fields

The rule lives at the field, not in a paragraph above it.

Used to send the tracking link. Never shown to the courier.
Cash collected lands here.
EGP Must match the order total to settle.

C09 · C13 · C14 · C15 · Progress, toast, empty, identity

Progress
68% of today's orders are out the door.
Toast — what was recorded
Payment recorded · 4,250 EGP to Main till
Identity
KM247 new
No online orders yet.Orders from the web store land here the moment a customer checks out.

C12 · The sheet

Pattern E. Every action opens a real sheet with a preview naming what changes.

Confirm order DV-10428
Hold 3 items for this customer
iPhone 13 screen · OEM2
Tempered glass · universal1

The hold releases on its own after 24 hours and the order goes back to placed.

Right to left

Logical properties only. Figures stay left-to-right inside a right-to-left row.

الطلب · العميلالحالةالإجمالي EGP

Voice

Shop language, not software language.

WriteNever
Owed to suppliersAccounts payable
Needs youAction items
Waiting partsPending fulfilment
Nothing in stock yetNo records found
Set price and mark readyUpdate status

Buttons name the outcome and read the same as the toast that follows. A toast reports what was recorded, never "success".

The conformance contract

A new component is not finished until all five hold.

#Rule
K1Tokens. No colour, space, radius or shadow literal. White ink on charcoal and alpha overlays on charcoal are the only allowed literals.
K2Elevation — a real shadow from the three-step scale.
K3Reflection — an inset top highlight so the surface catches light.
K4Micro-interaction — hover on fine pointers, press at scale(.97), visible focus-visible.
K5Accessibility — 44px where pressable, AA contrast, reduced-motion safe.