flowchart TD
    A[main.dart] --> B{KrowApp};
    B --> C{MaterialApp.router};
    C --> D[SplashRoute];
    D --> E{SplashRedirectGuard};

    E -- Authenticated --> F[HomeRoute];
    E -- Admin Validation --> G[WaitingValidationRoute];
    E -- Prepare Profile --> H[CheckListFlowRoute];
    E -- Unauthenticated/Error --> I[AuthFlowRoute];

    F --> F1[ShiftsFlowRoute];
    F --> F2[EarningsFlowRoute];
    F --> F3[ProfileMainFlowRoute];

    F1 --> F1a[ShiftsListMainRoute];
    F1a --> F1b[ShiftDetailsRoute];
    F1a --> F1c[QrScannerRoute];

    F2 --> F2a[EarningsRoute];
    F2a --> F2b[EarningsHistoryRoute];

    F3 --> F3a[ProfileMainRoute];
    F3a --> F3b[RoleKitFlowRoute];
    F3a --> F3c[CertificatesRoute];
    F3a --> F3d[ScheduleRoute];
    F3a --> F3e[WorkingAreaRoute];
    F3a --> F3f[LivePhotoRoute];
    F3a --> F3g[ProfileSettingsFlowRoute];
    F3a --> F3h[WagesFormsFlowRoute];
    F3a --> F3i[BankAccountFlowRoute];
    F3a --> F3j[BenefitsRoute];
    F3a --> F3k[SupportRoute];
    F3a --> F3l[FaqRoute];

    F3g --> F3g1[ProfileSettingsMenuRoute];
    F3g1 --> F3g2[RoleRoute];
    F3g1 --> F3g3[PersonalInfoRoute];
    F3g1 --> F3g4[EmailVerificationRoute];
    F3g4 --> L1;
    F3g1 --> F3g5[AddressRoute];
    F3g1 --> F3g6[EmergencyContactsRoute];
    F3g1 --> F3g7[MobilityRoute];
    F3g1 --> F3g8[InclusiveRoute];

    F3h --> F3h1[FormsListRoute];
    F3h1 --> F3h2[OfferLetterFormRoute];
    F3h1 --> F3h3[EddFormRoute];
    F3h1 --> F3h4[INineFormRoute];
    F3h1 --> F3h5[WFourFormRoute];
    F3h2 --> F3h6[FormSignRoute];
    F3h3 --> F3h6;
    F3h4 --> F3h6;
    F3h5 --> F3h6;
    F3h6 --> F3h7[SignedFormRoute];
    F3h6 --> F3h8[FormPreviewRoute];

    F3i --> F3i1[BankAccountRoute];
    F3i1 --> F3i2[BankAccountEditRoute];

    F3b --> F3b1[RolesKitListRoute];
    F3b1 --> F3b2[RoleKitRoute];

    H --> H1[CheckListRoute];
    H1 --> H2[PersonalInfoRoute];
    H1 --> H3[EmailVerificationRoute];
    H3 --> L1;
    H1 --> H4[EmergencyContactsRoute];
    H1 --> H5[AddressRoute];
    H1 --> H6[WorkingAreaRoute];
    H1 --> H7[RoleRoute];
    H1 --> H8[CertificatesRoute];
    H1 --> H9[ScheduleRoute];
    H1 --> F3i;
    H1 --> F3h;
    H1 --> F3b;

    I --> I1[WelcomeRoute];
    I1 --> I2[PhoneVerificationRoute];
    I2 --> I3[CodeVerificationRoute];
    I3 --> J{SingUpRedirectGuard};

    J -- Prepare Profile --> K[SignupFlowRoute];
    J -- Authenticated --> F;
    J -- Admin Validation --> G;
    J -- Unauthenticated/Error --> I;

    K --> K1[PersonalInfoRoute];
    K1 --> K2[EmailVerificationRoute];
    K2 --> K3[EmergencyContactsRoute];
    K2 --> L1;
    K3 --> K4[MobilityRoute];
    K4 --> K5[InclusiveRoute];
    K5 --> K6[AddressRoute];
    K6 --> K7[WorkingAreaRoute];
    K7 --> K8[RoleRoute];

    subgraph PhoneReLoginFlow
        L1[PhoneReLoginFlowRoute]
        L1 --> L2[CodeVerificationRoute]
    end

    subgraph CheckListFlow
        H
    end

    subgraph AuthFlow
        I
    end

    subgraph SignUpFlow
        K
    end

    subgraph HomeFlow
        F
    end
