# Design System: TPP Kierowca ## 1. Visual Theme & Atmosphere Mobile-first industrial logistics interface for TPP drivers working in transport and waste management. The UI must feel durable, calm, and immediately readable in a cab: high contrast, large targets, structured cards, no decorative softness. Density is daily-app balanced, with enough information on route cards to scan the day quickly. ## 2. Color Palette & Roles - **TPP Forest** (#154212) - Primary actions, active state, top route accents. - **TPP Container Green** (#2D5A27) - Branded panels, selected chips, success surfaces. - **Logo Leaf** (#609830) - Small brand highlights and progress accents only. - **Operational Navy** (#1B365D) - Secondary actions and structural emphasis. - **Field Surface** (#F7FAF8) - Primary app background. - **Manifest Surface** (#FFFFFF) - Cards, inputs, photo tiles. - **Panel Surface** (#EBEFED) - Section bands and secondary containers. - **Charcoal Ink** (#181C1B) - Primary text. - **Muted Steel** (#42493E) - Secondary text and metadata. - **Industrial Outline** (#72796E) - Important borders and dividers. - **Soft Outline** (#C2C9BB) - Low-emphasis borders. - **Critical Red** (#BA1A1A) - Errors and destructive messaging. ## 3. Typography Rules - **Display / Headline:** Hanken Grotesk, 32sp/24sp/20sp, weight 700/600, tight but not oversized. - **Body:** Hanken Grotesk, 18sp for driver-facing copy, 16sp for supporting text, relaxed line height. - **Technical Labels:** JetBrains Mono, 14sp/12sp, for route time, route ID, contract code, status metadata. - Use Android system fallback if bundled fonts are not present, but keep the same scale and weight rhythm. ## 4. Spacing, Shape & Components - Base grid is 8dp. Screen margin 16dp, route-card padding 20dp, list gap 16dp. - Minimum touch target is 48dp. Main action buttons are 56dp high; route-critical actions use 64dp. - Buttons and inputs use 4dp radius. Cards and sheets use 8dp. Photo thumbnails use 12dp. - **Route Card:** White surface, 1dp Soft Outline border, 4dp left status strip, mono contract chip, large origin/destination. - **OTP Input:** Six visible digits, mono, centered, high contrast, no floating labels. - **Photo Tiles:** First two tiles are camera and gallery actions; uploaded cargo photos appear in a 2-column grid. - **Status Chips:** Rectangular, low radius, text plus tonal background; never rely on color alone. ## 5. Compose Implementation Rules - Use Material 3 with a fixed light TPP theme. - Use icons for phone, lock, route, camera, gallery, refresh, back, and logout actions. - No emoji, neon glow, gradient text, blurred blobs, oversized marketing hero, or generic stock imagery. - Lists use skeleton-like loading blocks where possible and clear empty states. - Text must not overlap and must fit on small Android screens with large system font. ## 6. Screens - **Phone Login:** TPP brand header, phone number input, primary "Wyƛlij kod" action. - **OTP:** masked phone, six-digit code input, resend action after failure or timeout. - **Today Routes:** greeting, sync time, route cards for today's dispatcher assignments. - **Route Detail:** manifest layout with route, contract, vehicle and notes sections, then cargo photo grid. - **Photo Preview:** full-screen dark viewer with top back action and image fit-to-screen. ## 7. Motion & Interaction - Use short Material spring/tween transitions through Navigation Compose. - Active cards and buttons use subtle pressed opacity/scale, not glow. - Refresh and upload states must remain visible; never leave the driver guessing after tapping camera/gallery.