Versiunea 5 strânge tot ce face LaFix să arate și să se comporte ca LaFix: token-uri, tipografie cu reguli de capitalizare, grilă pe 2 coloane de carduri, swim-lane-uri, calendare, slidere cu file, dialoguri, stări de încărcare, butonul-semnătură FAB și Fix — asistentul prezent peste tot. Hotărât, cald și de încredere, fără un singur scroll orizontal.
01 · Brand
Marca LaFix unește două idei: timpul controlat (cronometrul albastru) și treaba rezolvată (bifa portocalie). Wordmark-ul scoate „Fix" în portocaliu — promisiunea că se rezolvă, la fix. De la v5, același „Fix" portocaliu e și numele asistentului: scânteia din logo a devenit inteligența din aplicație.
Pe închis
Pe deschisVoce de brand
Hotărât — vorbim scurt, ca un meseriaș sigur pe el. „Se rezolvă."
Cald — omenește, fără corporatism. „Zi bună la treabă, șefu'."
De încredere — spunem pe ce ne bazăm. Fix arată mereu certitudinea.
Principii de design
Performant
Răspuns instant, zero scroll orizontal, dens cât trebuie pe tabletă.
Transparent
Nicio cifră magică: fiecare valoare calculată/Fix vine cu „de ce?".
Se învață
Estimările se rafinează din dovezi — prior, dovezi, rezultat.
Pe rol & fază
Fiecare vede doar ce-l privește; ecranul se mulează pe faza curentă.
02 · Arhitectură de brand
„LaFix" e brandul-umbrelă. Fiecare verticală e o aplicație din aceeași familie, numită după tipar fix: LaFix · [Domeniu]. Logo-ul, culorile, tipografia, Fix și vocea rămân identice — se schimbă doar terminologia și iconurile specifice domeniului.
Sistemul de operare pentru service-uri auto: recepție, constatare, ofertă, piese, atelier, livrare.
Gestiune depozit & curse: recepție marfă, stoc, picking, expediere — aceeași logică, alt vocabular.
Gestiune hotel / pensiune: rezervări, camere, check-in/out, consumuri, raportare.
Rămâne constant (ADN de brand)
Logo & cronometru · paleta albastru/portocaliu · Newsreader + Inter · setul de iconuri · Fix (asistentul) · vocea hotărât/cald/de încredere · sidebar off-black · butonul FAB · regulile de interacțiune.
Se adaptează per domeniu
Terminologia (mașină → colet → cameră) · iconurile de domeniu · fluxurile & etapele · rolurile din echipă · denumirea modulelor · exemplele din microcopy.
Un client care a folosit LaFix · Service Auto trebuie să se simtă acasă în LaFix · Logistică din prima secundă.
03 · Culori
Neutre off-black/off-white pentru fundal și text. Albastrul e brandul și orice acțiune. Portocaliul e scânteia din logo — și de la v5 e culoarea lui Fix: oriunde apare cald-portocaliu, e inteligența LaFix la lucru. Aplicația pornește pe temă deschisă (off-white); tema închisă inversează aceleași hue-uri.
04 · Tipografie
Un serif literar (Newsreader) dă căldură și gravitate titlurilor și citatelor de marketing. Inter — clar, neutru, lizibil la 12px pe tabletă — duce toată interfața și datele.
Scala de interfață: niciodată sub 11px. Titlu ecran 17px/600, body 13–15px, label 12px/600, meta-mono 10.5–11px. Numere și prețuri pe tabular-nums.
05 · Capitalizare
Capitalizarea e parte din voce. O folosim consecvent, ca interfața să se „citească" fără efort. Regula de bază: Title Case pe orice element pe care dai click sau care etichetează o zonă; propoziție normală pentru fraze; ALL CAPS numai pe divizoarele scurte de secțiune.
06 · Iconuri
Linie de 1.75px pe grilă de 24, capete rotunde, currentColor. Intuitive și pe tematica fiecărui domeniu unde se poate. Aceeași familie pe meniu, taburi, butoane, statusuri.
07 · Spațiere & grilă
Toate marginile, paddingurile și gap-urile sunt multipli de 4. Layout-ul implicit de conținut e o grilă de 2 coloane de carduri — densitatea potrivită pentru tabletă în peisaj și laptop. Pe ecrane mici cade pe 1 coloană; pe ecrane mari urcă la 3, dar cardul rămâne aceeași unitate.
Grila de carduri — 2 coloane implicit
Golf 7 · Distribuție
Octavia · Revizie
Passat · Frâne
Sportage · Constatare
grid-template-columns: 1fr 1fr · gap: 12–13px — gutterul dintre carduri = padding-ul de panou, ca să respire egal pe orizontală și verticală.
Pragurile coloanelor
1 col <640px · 2 col 640–1200px (implicit) · 3 col >1200px. Card min 216–244px.
Densitate
Padding card mare 24 · card-listă 12–14 · gap grilă 12–16.
Ținte tactile
Minim 44×44px pe tabletă. Butoane înălțime 36–48.
08 · Colțuri
Cu cât containerul e mai mare, cu atât raza e mai mare. Regula simplă: controlul mic e mai „strâns", panoul mare e mai „moale". În zona „Atelier" folosim și un set organic (colț-frunză) pentru caracter, fără să stricăm grila.
8px · input, select, chip-buton
10px · buton, dropdown
14px · card & panou
18–20px · modal, FAB, container mare
09 · Elevație & containere
Umbra spune cât de „sus" e un element. Folosim rar nivelurile înalte — doar pentru lucruri care plutesc peste conținut (slide-over, modal, FAB, meniuri).
0 · Flush
fundal app, separatoare
1 · Card
carduri, rânduri
2 · Float
dropdown, popover, FAB
3 · Overlay
modal, slide-over
Containere de layout
Sidebar — urmează tema (crem deschis pe light, off-black pe dark). 60px restrâns / 240px extins.
Toolbar — 56px, titlu + căutare Fix + acțiuni de context. Lipit sus.
Conținut — fundal app, grilă de 2 coloane de carduri, padding 16–20.
Slide-over / Modal — plutesc la nivel 3 peste un scrim, pentru detaliu & decizie.
11 · Carduri
Mașini într-o sub-fază, piese pe flux, clienți, programări — aproape orice entitate apare ca un card. De aceea anatomia lui e fixă: aceeași ordine de informație, aceeași poziție pentru status, aceleași butoane în josul cardului. Cardul intră în grila de 2 coloane și e mereu clicabil (deschide slide-over-ul de detaliu).
VW Golf 7 · 1.6 TDI
Claudiu P. · Distribuție
Anatomia cardului (sus → jos)
Tot cardul e clicabil → slide-over. Butoanele din josul cardului opresc propagarea (stopPropagation) ca să nu deschidă și sliderul.
Card-listă
Rând orizontal: badge/icon · primar+secundar · meta · chip · valoare · săgeată. Pentru liste plate (clienți, facturi).
Card-lane (compact)
Versiunea îngustă din swim-lane: plăcuță, status mic, o linie de meta, 1 buton + 1–2 iconuri.
Card Fix
Fundal portocaliu-tint, bordură portocalie, marca Fix sus-stânga, eticheta „Fix" sus-dreapta.
12 · Swim-lane-uri
Fluxurile cu etape — pipeline-ul de service (Recepție → Constatare → Ofertare → Aprovizionare → Execuție → Finalizare → Predată) și Flux Piese — se citesc ca swim-lane-uri. Fiecare lane are un punct colorat, un titlu și un contor. Pe ecran lat, lane-urile stau una lângă alta (orizontal); pe tabletă în portret devin benzi verticale pliabile în care cardurile se rearanjează pe rânduri (wrap) — niciodată un scroll orizontal în interiorul unui lane. Aprovizionare e faza în sine (piese de comandat / comandate / recepționate); Negociere nu e fază — e o sub-stare a Ofertării (renegociere). Fiecare fază are o poartă cu cerințe configurabile în Flux Operativ (vezi §21 · GateBlockers).
Ecran lat — lane-uri orizontale
Golf 7 · zgomot față
Sportage · revizie
Octavia · deviz trimis
Corsa · piese comandate
Passat · frâne
Logan · ambreiaj
Clio · gata predare
Tabletă portret — bandă verticală, carduri pe rânduri
Passat · frâne · Menu
Logan · ambreiaj
Golf 7 · distribuție
Insignia · ulei
Reguli de lane
→ Punct + titlu Title Case + contor, mereu în capul lane-ului.
→ Lățime lane ~266px orizontal; vertical = bandă pe toată lățimea.
→ Cardurile se mută între lane-uri prin drag sau prin butonul principal al cardului (avans fază).
→ Lane gol arată „Gol", nu dispare.
Culorile fazelor
13 · Calendare
Calendarul de programări are trei vederi, comutate cu un segmented control: Zi (agenda detaliată), Săptămână (grilă oră × zi, implicit), Lună (densitate, puncte pe zile). Programările confirmate sunt blocuri pline albastre. Fix desenează sloturile propuse cu contur punctat portocaliu și un motiv. Intervalele blocate (mentenanță, pauză) apar hașurate roșu.
Programare confirmată
Slot propus de Fix
Interval blocat
Regula de aur: orice slot punctat are un motiv vizibil la atingere („Stația de vopsitorie e liberă și Menu e disponibil"). Fix propune; omul confirmă cu un tap. Navigarea între Zi / Săptămână / Lună e cu segmented control, niciodată cu scroll orizontal forțat.
14 · Slidere cu file
Când un slide-over (de ex. Fișa de Service deschisă din Atelier) conține mai multe etape sau secțiuni, nu folosim scroll orizontal. Folosim file (taburi) navigate cu puncte numerotate sau săgeți. Fila curentă e evidențiată; cele parcurse sunt pline (albastru), cele viitoare sunt goale. Conținutul fazelor trecute e read-only; butoanele de acțiune apar doar pe fila fazei curente. Panoul de detaliu se poate afișa Suprapus (peste listă) sau Alăturat (coloană lângă listă) — aceeași preferință globală și aceeași lățime redimensionabilă, persistente, pe toate paginile.
Fișă de Service
B-127-LFX · Golf 7
Execuție · În Lucru
Distribuție + pompă apă. Menu lucrează de 2h 14m. Piese OEM recepționate.
De ce file, nu scroll
Pe tabletă cu mănuși sau cu degetul, scroll-ul orizontal e imprecis și ascunde conținut. Filele dau o hartă clară: vezi câte etape sunt, unde ești și unde poți sări. Un tap = o filă.
Reguli de file
→ Punct numerotat per filă; plin = parcurs, inel = curent, gol = viitor.
→ Săgeți ‹ › pentru filă-cu-filă; punctele pentru salt direct.
→ Fazele trecute = read-only; acțiunile doar pe faza curentă.
→ Indicator „faza X/Y" mereu vizibil.
15 · Dialoguri
Deciziile importante trec printr-un dialog centrat peste un scrim (nivel 3). Trei tonuri, aceeași anatomie: pictogramă cu cerc colorat, titlu scurt (Title Case), corp în propoziție normală, butoane în dreapta — acțiunea principală ultima. Tonul dă culoarea iconului și a butonului principal.
Confirmare
Confirmi Livrarea?
Avertisment
Deviz Neaprobat
Eroare
N-am Putut Trimite la SPV
Anatomie & comportament
→ Lățime 380–440px, centrat, scrim întunecat în spate.
→ Titlu Title Case, scurt; corp explică consecința, nu codul tehnic.
→ Butonul principal e ultimul (dreapta); cel de anulare e ghost.
→ Esc și click pe scrim = anulează (doar pentru acțiuni ne-distructive).
Când folosim ce ton
Confirmare — acțiune normală cu efect (livrare, trimitere ofertă).
Avertisment — se poate continua, dar cu un risc explicat.
Eroare — ceva a eșuat; explicăm omenește + dăm calea de ieșire. Niciodată cod brut singur.
16 · Stări de încărcare
Când un ecran aduce date sau o acțiune durează câteva secunde, nu lăsăm gol și nu înghețăm. Folosim trei trepte: skeleton pentru structuri care se încarcă, spinner pentru acțiuni scurte în buton, și Fix care „gândește" când asistentul lucrează la o sarcină.
Skeleton de card
Aceeași formă ca al cardului real, shimmer 1.3s. Niciodată spinner pe tot ecranul.
Spinner în buton
Butonul rămâne pe loc, textul devine verb la prezent („Se trimite…"). Dezactivat cât durează.
Fix gândește
Fix lucrează…
Caut piese OEM pentru CJ-33-CXD
Marca Fix pulsează blând; sub ea, exact ce face acum. Transparent, nu o rotiță anonimă.
Reguli
→ Sub 300ms nu arătăm nimic (evităm pâlpâitul). → 0.3–2s: skeleton sau spinner local. → Peste ~2s sau sarcină Fix: stare explicită cu ce se întâmplă. → Niciodată un spinner care acoperă tot ecranul fără context. → La final, un mesaj scurt și cald: „Gata. 4 piese comandate."
17 · Butonul FAB
Nu e un „+" generic. E butonul cu sigla LaFix (cronometrul-bifă) pe albastru, ancorat în capătul de jos al șinei de meniu din stânga — nu plutește peste conținut. La atingere se deschide în acțiunile de creare specifice ecranului plus scurtătura Întreabă Fix. Poziția, forma și icoana nu se schimbă niciodată — doar opțiunile din meniu se contextualizează.
Reguli FAB
→ Mereu în capătul de jos al șinei de meniu (pe șina restrânsă, centrat pe șină), 56×56px, rază 18–20px.
→ Sigla LaFix în alb pe gradient albastru; la deschis devine „×".
→ Prima opțiune e mereu Întreabă Fix (cu marca portocalie).
→ Sub ea, 1–3 acțiuni de creare ale ecranului curent, cu etichete în frază („Caută la furnizori", „Adaugă casetă") — excepția asumată de la Title Case, ca să se citească drept acțiuni vorbite.
→ Pe atingere, pastilele urcă cu o animație scurtă de fade.
Contextualizare (exemple)
Programări → Programare nouă · Blochează interval
Atelier → Vehicul nou în flux · Programează intrare
Clienți → Client nou · Mesaj WhatsApp
Flux Piese → Comandă piesă · Caută la furnizori
18 · Fix · asistentul
Fix e asistentul prezent în toată aplicația. Își ia culoarea din scânteia logo-ului — portocaliul cald — așa că oriunde apare gradient-portocaliu cu glifa-scânteie, utilizatorul știe că e inteligența LaFix. Fix e mereu în context: cu o anumită fază, mașină sau client. Oferă sugestii, căutare conversațională aprofundată și — regula de aur a v5 — propune, nu execută: pregătește acțiunea gata de confirmat (o reamintire ITP devine o propunere de programare neconfirmată), iar omul o aprobă sau o respinge.
Fix — numele implicit; patronul îl poate schimba
Personalitate reglabilă (prietenos / concis / expert) și avatar la alegere; numele ales persistă peste tot. Arată mereu sursa și gradul de încredere. Propune, nu execută — fiecare acțiune rămâne o propunere până o confirmă omul.
Fix pregătește — exemple reale
„Creează programare din conversația WhatsApp."
→ Fix citește firul, extrage mașina și ziua, deschide programarea pre-completată. Tu confirmi.
„Comandă toate piesele în variantă OEM pentru CJ-33-CXD."
→ Fix selectează furnizorii, pune comanda pe Flux Piese, arată totalul. 4 piese, 612 € — confirmi?
„Resetează timpul înregistrat de Menu ca pontaj pentru AB-23-FZY."
→ Fix găsește pontajul și pregătește corecția, cu urmă în istoric. Pontaj 0h — confirmi?
„Trimite 2 oferte pentru George, ambele cu piese de schimb echivalente și 10% reducere la manoperă."
→ Fix construiește două devize, aplică reducerea, pregătește mesajele. Gata de trimis — verifici?
Sugerează
Card Fix: alternativă de furnizor, slot mai bun, risc pe flux. Propune, nu impune.
Caută conversațional
Căutare aprofundată din orice bară de unelte: „mașinile lui Claudiu cu ITP expirat luna asta".
Pregătește
Pre-completează crearea, actualizarea, avansarea de faze — mereu ca propunere, cu pas de confirmare și posibilitate de anulare.
De ce portocaliu, nu mov? Movul e suprafolosit în software-ul AI — piața s-a saturat. Portocaliul e deja al nostru, din logo („Fix"), și ne diferențiază pe loc.
Fix nu înlocuiește meseriașul. Îi ia din mâini munca repetitivă — dar fiecare acțiune trece printr-un „confirmi?" și se poate anula.
19 · Responsive
LaFix trăiește pe mai multe ecrane: tableta mecanicului (portret), tableta de la recepție (peisaj), laptopul cu rapoarte și TV-ul cu dashboard-ul „Atelier" agățat în hală. Layout-ul se adaptează prin praguri clare — dar regula fără scroll orizontal rămâne pe orice ecran.
Tabletă · portret
1 coloană de carduri · swim-lane-uri ca benzi verticale pliabile · sidebar restrâns (60px) · FAB jos-dreapta.
Tabletă · peisaj
2 coloane de carduri (implicit) · swim-lane-uri orizontale · sidebar extins opțional · toolbar cu căutare Fix.
Laptop & TV · ecran mare
3 coloane · rapoarte pe laptop · dashboard „Atelier" pe TV: tipografie mărită, fără controale tactile, citibil de la distanță.
Praguri
< 640px — 1 coloană, benzi verticale.
640–1200px — 2 coloane, lane-uri orizontale (implicit, tabletă peisaj).
> 1200px — 3 coloane, panouri laterale extinse.
Mod TV — scală +25–40% la text, fără hover/tap, auto-refresh.
Constante pe orice ecran
→ Sidebar care urmează tema (crem / off-black).
→ FAB jos-dreapta cu sigla LaFix.
→ Cardul ca unitate de conținut.
→ Slide-over din dreapta (full-width în portret).
→ Zero scroll orizontal — file, wrap și vederi comutabile în loc.
20 · Voce & ton
Scriem ca un coleg priceput care îți vrea binele: scurt, direct, omenește. Verbe la persoana a II-a, fără jargon corporatist, fără ALL CAPS în propoziții, fără semne de exclamare în lanț. Tonul se ajustează după context, dar vocea rămâne aceeași.
Hotărât
O propoziție, un verb clar. „Trimite oferta." Nu „Ați dori eventual să transmiteți oferta?"
Cald
Omenește, nu robotic. „Gata, mașina poate pleca." Nu „Operațiune finalizată cu succes."
De încredere
Spui pe ce te bazezi. „Estimare bazată pe 3 oferte." Nu promisiuni goale.
21 · Interacțiune & afordanță
Forma promite o acțiune. Dacă un element are aspect de buton sau de control, atunci el trebuie să funcționeze la atingere; dacă e doar informativ (read-only), îl randăm ca text simplu sau etichetă, niciodată stilizat ca buton. Iar orice valoare calculată, scor sau sugestie de la Fix poartă un motiv vizibil — un popover „de ce?" — ca utilizatorul să nu fie pus să creadă pe cuvânt.
Onestitate de afordanță
Editabilă → buton
Severitate · Mare se poate schimba la atingereRead-only → etichetă
Severitate: Mare doar afișează, nu reacționeazăAceeași informație, două forme. Pastila de severitate e buton când mecanicul o poate edita și etichetă când fișa e read-only (fază trecută sau rol fără drept).
Tooltip pe valorile obscure
Termenii care nu se explică singuri („dovezi" = pozele care susțin constatarea) și orice cifră de la Fix au tooltip. Pentru valorile AI/calculate, tooltipul e popoverul de proveniență „de ce?": prior + dovezi + rezultat.
Popover de proveniență — „de ce?"
Total Deviz estimat: 380–520 €. La atingerea semnului „de ce?" se deschide un popover: „Estimare pe baza a 3 oferte similare pentru distribuție Golf 7, manoperă 45 €/h × 4h, marjă piese 18%."
Regula: nicio cifră magică. Fiecare valoare scoasă de sistem (scor, estimare, încredere, slot propus) ajunge la utilizator împreună cu motivul ei — proiectat odată cu valoarea, nu adăugat ulterior. Manopera se citește mereu din politica editabilă „Tarif manoperă" din Flux Operativ (implicit 45 €/oră), niciodată codată.
Ciclul pieselor — forward-only, cuibărit sub operațiuni
Cuibul: piesele stau sub operațiunea care le cere, niciodată într-o listă plată paralelă — iar căutarea de piese pornită dintr-o operațiune vine pre-filtrată pe ea. Eticheta veche „Precomandă" nu mai există: starea de start se citește ca treabă de făcut — „De comandat". „Comandă" trimite piesa la furnizor și notifică magazia; „Recepționează" o marchează sosită și scade stocul; predarea la box o face șeful. Butonul „Avansează" e dezactivat în starea terminală. Singura mișcare înapoi e „retur", marcată explicit ca excepție — restul ciclului e doar înainte.
Componente canonice v5 — una pentru fiecare treabă
KpiTile
Singura casetă de indicator: etichetă + valoare + „de ce?" (proveniența cifrei) + lista elementelor din spate. Vechea componentă „Stat" nu mai există.
AiTag
Singura insignă de atribuire AI (glifa-scânteie, 12–14px, opțional text). Orice valoare venită de la Fix o poartă — nu inventăm alte stiluri de insignă AI.
Chip
Pastila canonică de stare, în exact două mărimi (sm / md), cu ton semantic și pictogramă din setul Ic. Zero emoji în interfață.
.lf-sel
Marcajul sursei selecției: cardul din listă care a deschis detaliul rămâne evidențiat cu .lf-sel — un breadcrumb vizual, identic pe toate paginile.
GateBlockers
Porțile de fază: cerințele vin din Flux Operativ (configurabile, pe toate cele 6 faze), butonul de avans e dezactivat-cu-motiv și arată x/y. „Portiță patron": doar patronul poate forța, auditat, cu justificare.
Suprapus | Alăturat
Detaliul se deschide peste listă sau lângă ea — o singură preferință globală + o singură lățime redimensionabilă, persistentă peste tot. Modalul (LfModal) rămâne doar pentru simulările terțe: semnare, plată, scaner.
22 · Notificări & WhatsApp
LaFix vorbește pe două canale. În aplicație, un clopoțel „Notificări" propagă fiecare eveniment pe rolurile interesate — cine ce primește se decide într-o matrice rol × categorie editabilă (Configurare → „Notificări & WhatsApp"; scurtătura din clopoțel: „Cine primește ce?"). Spre client, totul curge pe WhatsApp: recepția poate porni dintr-un mesaj, iar la fiecare pas pleacă un șablon compus din variabile ({varianta}, {pret}…) — care spune onest când conexiunea e oprită. Același eveniment, două voci: scurt și operativ pentru echipă, cald și clar pentru client.
Clopoțelul „Notificări"
Comandă piesele · CJ-33-CXD
Oferta a fost aprobată · pentru Consilier, Magazie, Șef atelier
Factură emisă · 412 €
Mașina a fost predată · pentru Contabil, Patron, Client
Punct plin = necitit. Acțiuni: Marchează citit / Toate citite. Fiecare notificare e filtrată pe rol — fiecare vede doar ce-l privește (patronul vede tot).
Evenimente → cine e anunțat
Rândurile de mai sus sunt doar implicitul: matricea rol × categorie e editabilă de patron. Fluxul de notificări se poate andoca permanent („Flux în direct"), cu filele „Tot atelierul" / „Pentru mine"; fiecare intrare de jurnal poartă plăcuța mașinii.
Conversație WhatsApp (omnichannel)
Recepția poate porni dintr-un mesaj WhatsApp. Firul are compozitor propriu („Scrie pe WhatsApp" → „Trimite"); Fix poate extrage mașina și ziua și pre-completa programarea.
Șabloane pe evenimente
În portalul clientului de pe telefon, mesajul de bază e: „Fix te anunță pe WhatsApp la fiecare pas." Clientul are și o cutie poștală în portal; când scrie de acolo, consilierul și șeful sunt notificați. Clientul iese din portal cu „Înapoi la staff" (când e cont de echipă).
23 · Reguli
Style guide-ul nu e despre frumusețe. E despre recunoaștere: un meseriaș obosit trebuie să „citească" ecranul fără să gândească — în orice domeniu LaFix.
LaFix v5 — Style Guide. Sistemul de design, extensibil pe orice domeniu.
Vezi platforma v5