graph TD
    subgraph GraphQL API
        subgraph Queries
            Q1[getStaffStatus]
            Q2[getMe]
            Q3[getStaffPersonalInfo]
            Q4[getStaffProfileRoles]
            Q5[getShifts]
            Q6[staffNoBreakShifts]
            Q7[getShiftPosition]
        end

        subgraph Mutations
            M1[updateStaffPersonalInfo]
            M2[updateStaffPersonalInfoWithAvatar]
            M3[uploadStaffAvatar]
            M4[acceptShift]
            M5[trackStaffClockin]
            M6[trackStaffClockout]
            M7[trackStaffBreak]
            M8[submitNoBreakStaffShift]
            M9[cancelStaffShift]
            M10[declineShift]
        end
    end

    subgraph Firebase Services
        FS[Firebase Storage]
        FF[Firebase Firestore]
        FA[Firebase Auth]
    end

    M2 --> FS;
    M3 --> FS;

    Q1 --> FF;
    Q2 --> FF;
    Q3 --> FF;
    Q4 --> FF;
    Q5 --> FF;
    Q6 --> FF;
    Q7 --> FF;

    M1 --> FF;
    M2 --> FF;
    M4 --> FF;
    M5 --> FF;
    M6 --> FF;
    M7 --> FF;
    M8 --> FF;
    M9 --> FF;
    M10 --> FF;

    Q1 --> FA;
    Q2 --> FA;
    Q3 --> FA;
    